60 lines
1.8 KiB
Markdown
60 lines
1.8 KiB
Markdown
# Компоненты
|
|
|
|
## Обозначения типов, используемые далее
|
|
|
|
- vec3 - 3D вектор (массив из трех чисел)
|
|
- mat4 - матрица 4x4 (массив из 16 чисел)
|
|
|
|
Аннотации типов добавлены в целях документации и не являются частью синтаксиса
|
|
Lua.
|
|
|
|
## Встроенные компоненты
|
|
|
|
### Transform
|
|
|
|
Компонент отвечает за позицию, масштаб и вращение сущности.
|
|
|
|
```lua
|
|
-- Сокращение
|
|
local tsf = entity.transform
|
|
|
|
-- Возвращает позицию сущности
|
|
tsf:get_pos() -> vec3
|
|
-- Устанавливает позицию сущности
|
|
tsf:set_pos(pos: vec3)
|
|
|
|
-- Возвращает масштаб сущности
|
|
tsf:get_size() -> vec3
|
|
-- Устанавливает масштаб сущности
|
|
tsf:set_size(size: vec3)
|
|
|
|
-- Возвращает вращение сущности
|
|
tsf:get_rot() -> mat4
|
|
-- Устанавливает вращение сущности
|
|
tsf:set_rot(size: mat4)
|
|
```
|
|
|
|
### Rigidbody
|
|
|
|
Компонент отвечает за физическое тело сущности.
|
|
|
|
```lua
|
|
-- Сокращение
|
|
local body = entity.rigidbody
|
|
|
|
-- Проверяет, включен ли рассчет физики тела
|
|
body:is_enabled() -> bool
|
|
-- Включает/выключает рассчет физики тела
|
|
body:set_enabled(enabled: bool)
|
|
|
|
-- Возвращает линейную скорость
|
|
body:get_vel() -> vec3
|
|
-- Устанавливает линейную скорость
|
|
body:set_vel(vel: vec3)
|
|
|
|
-- Возвращает размер хитбокса
|
|
body:get_size() -> vec3
|
|
-- Устанавливает размер хитбокса
|
|
body:set_size(size: vec3)
|
|
```
|