Merge branch 'main' into dev

This commit is contained in:
MihailRis
2025-09-30 23:40:02 +03:00
39 changed files with 658 additions and 233 deletions
+1
View File
@@ -45,6 +45,7 @@
- [Модуль core:bit_converter](scripting/modules/core_bit_converter.md)
- [Модуль core:data_buffer](scripting/modules/core_data_buffer.md)
- [Модули core:vector2, core:vector3](scripting/modules/core_vector2_vector3.md)
- [Встроенные компоненты сущностей](scripting/core_components.md)
## Аннотации типов данных
+89
View File
@@ -0,0 +1,89 @@
# Встроенные компоненты
## *core:pathfinding*
Компонент для построение путей движения мобов.
```lua
local pathfinding = entity:require_component("core:pathfinding")
-- Устанавливает цель движения, не сбрасывая текущий маршрут
pathfinding.set_target(target: vec3)
-- Возвращает текущую цель движения
pathfinding.get_target() --> vec3
-- Устанавливает высоту преодолимого прыжком препятствия
pathfinding.set_jump_height(height: number)
-- Возвращает текущий построенный маршрут или nil
pathfinding.get_route()
-- Сбрасывает текущий построенный маршрут
pathfinding.reset_route()
-- Возвращает следующую точку маршрута, по текущим координатам.
-- (следует использовать компонент core:mob - функция mob.follow_waypoints)
pathfinding.next_waypoint() --> vec3 или nil
-- Устанавливает интервал перестройки маршрута в тактах обновления.
pathfinding.set_refresh_interval(interval: number)
```
## *core:mob*
Компонент для управления движением (включая полёт) и вращением мобов.
```lua
local mob = entity:require_component("core:mob")
-- Выполняет прыжок с силой jump_force * multiplier
mob.jump([опционально] multiplier: number = 1.0)
-- Вертикальное движение (работает в полёте или в плавании (в будущем))
mob.move_vertical(
-- Скорость вертикального движения
speed: number,
-- Текущая скорость сущности (для минимизации вызовов rigidbody:get_vel())
[опционально] current_velocity
)
-- Горизонтальное движение
mob.go(
-- 2D вектор направления движения
dir: vec2,
-- Множитель скорости
speed_multiplier: number,
-- Бег
sprint: bool,
-- Присядь
crouch: bool,
-- Текущая скорость сущности (для минимизации вызовов rigidbody:get_vel())
[опционально] current_velocity
)
-- Меняет направление взгляда сущности, направляя на указанную точку
mob.look_at(
-- Целевая точка
point: vec3,
-- Менять ли направление всей сущности
change_dir: bool = false
)
-- Движение по построенному маршруту.
-- Если не указан pathfinding, требуется наличие у сущности компонента core:pathfinding
mob.follow_waypoints(
-- Возможная замена компонента pathfinding
[опционально] pathfinding
)
-- Устанавливает направление всей сущности
mob.set_dir(dir: vec3)
-- Проверяет, включён ли режим полёта
mob.is_flight() --> bool
-- Включает/выключает режим полёта
mob.set_flight(flag: bool)
```
+2 -2
View File
@@ -86,9 +86,9 @@ body:get_size() -> vec3
body:set_size(size: vec3)
-- Возвращает множитель гравитации
body:get_gravity_scale() -> vec3
body:get_gravity_scale() -> number
-- Устанавливает множитель гравитации
body:set_gravity_scale(scale: vec3)
body:set_gravity_scale(scale: number)
-- Возвращает множитель затухания линейной скорости (используется для имитации сопротивления воздуха и трения)
body:get_linear_damping() -> number
+5
View File
@@ -22,6 +22,11 @@
На данный момент существует два вида примитивов: box и rect, а также, part (описывает часть примитива, такую как, например, сторона куба).
> [!NOTE]
> По-умолчанию текстурные координаты определяются размерами примитивов.
> При размерах более 1.0 результат не определён и может измениться в последующих обновлениях.
> Используйте `region` или `region-scale` для ручной настройки.
### Свойства `rect`
- `from` - точка начала примитива. Пример: `from (0,0.5,0.125)`