Mẫu để tạo entity, tìm theo tên, spawn làm con của entity khác. Tiếp...
Classes | |
| struct | njin::prefab_desc |
| Mô tả một prefab, dùng với prefab_register(). Tiếp... | |
Typedefs | |
| using | njin::prefab_fnc = void (*)(context &ctx, entt::entity entity) |
| Hàm dựng một prefab: gắn component vào entity vừa tạo. | |
Các hàm | |
| prefab_handle | njin::prefab_register (context &ctx, const prefab_desc &desc) |
| Đăng ký một prefab. | |
| prefab_handle | njin::prefab_find (const context &ctx, const char *name) |
| Tìm prefab theo tên. | |
| entt::entity | njin::prefab_spawn (context &ctx, prefab_handle prefab, const transform &at={}) |
| Tạo một entity từ prefab, đặt tại at. | |
| entt::entity | njin::prefab_spawn (context &ctx, const char *name, const transform &at={}) |
| Như prefab_spawn(), tìm prefab theo tên. | |
| entt::entity | njin::prefab_spawn_child (context &ctx, prefab_handle prefab, entt::entity parent, const transform &local={}) |
| Tạo một entity từ prefab và gắn nó làm con của parent. | |
Mẫu để tạo entity, tìm theo tên, spawn làm con của entity khác.
| using njin::prefab_fnc = void (*)(context &ctx, entt::entity entity) |
Hàm dựng một prefab: gắn component vào entity vừa tạo.
Entity đã có sẵn transform (và njin::scene_owned nếu prefab yêu cầu) khi hàm được gọi. Hàm có thể spawn thêm prefab khác và gắn chúng làm con bằng njin::child_of, ví dụ nhân vật kèm vũ khí.
| prefab_handle njin::prefab_register | ( | context & | ctx, |
| const prefab_desc & | desc ) |
Đăng ký một prefab.
Nếu tên đã có thì trả về prefab cũ và bỏ qua desc.
| ctx | Context của engine. |
| desc | Mô tả prefab. |
| prefab_handle njin::prefab_find | ( | const context & | ctx, |
| const char * | name ) |
Tìm prefab theo tên.
| ctx | Context của engine. |
| name | Tên prefab. |
| entt::entity njin::prefab_spawn | ( | context & | ctx, |
| prefab_handle | prefab, | ||
| const transform & | at = {} ) |
Tạo một entity từ prefab, đặt tại at.
Thứ tự: tạo entity, gắn transform at, gắn njin::scene_owned (nếu prefab_desc::scene_owned và đang có scene), rồi gọi hàm dựng. Sửa gì thêm thì sửa trên entity trả về.
| ctx | Context của engine. |
| prefab | Prefab cần tạo. |
| at | Transform ban đầu. |
| entt::entity njin::prefab_spawn | ( | context & | ctx, |
| const char * | name, | ||
| const transform & | at = {} ) |
Như prefab_spawn(), tìm prefab theo tên.
| ctx | Context của engine. |
| name | Tên prefab. |
| at | Transform ban đầu. |
| entt::entity njin::prefab_spawn_child | ( | context & | ctx, |
| prefab_handle | prefab, | ||
| entt::entity | parent, | ||
| const transform & | local = {} ) |
Tạo một entity từ prefab và gắn nó làm con của parent.
local là vị trí so với cha (xem njin::child_of). Transform của entity được tính ngay, nên đúng vị trí từ frame đầu tiên.
| ctx | Context của engine. |
| prefab | Prefab cần tạo. |
| parent | Entity cha. Phải có transform. |
| local | Transform so với cha. |