njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Loading...
Searching...
No Matches
njin_prefab.h
1#pragma once
2#include "_comps.h"
3#include "_types.h"
4#include <entt/entity/fwd.hpp>
5
6namespace njin {
7struct context;
8
11
17using prefab_fnc = void (*)(context &ctx, entt::entity entity);
18
25 const char *name = nullptr;
26 prefab_fnc build = nullptr;
29 bool scene_owned = true;
30};
31
36prefab_handle prefab_register(context &ctx, const prefab_desc &desc);
37
42prefab_handle prefab_find(const context &ctx, const char *name);
43
57entt::entity prefab_spawn(context &ctx, prefab_handle prefab,
58 const transform &at = {});
59
65entt::entity prefab_spawn(context &ctx, const char *name,
66 const transform &at = {});
67
77entt::entity prefab_spawn_child(context &ctx, prefab_handle prefab,
78 entt::entity parent,
79 const transform &local = {});
81} // namespace njin
prefab_handle prefab_find(const context &ctx, const char *name)
Tìm prefab theo tên.
prefab_handle prefab_register(context &ctx, const prefab_desc &desc)
Đăng ký một prefab.
void(*)(context &ctx, entt::entity entity) prefab_fnc
Hàm dựng một prefab: gắn component vào entity vừa tạo.
Definition njin_prefab.h:17
entt::entity prefab_spawn(context &ctx, prefab_handle prefab, const transform &at={})
Tạo một entity từ prefab, đặt tại at.
entt::entity 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ô tả một prefab, dùng với prefab_register().
Definition njin_prefab.h:24
prefab_fnc build
Hàm dựng.
Definition njin_prefab.h:26
bool scene_owned
Gắn entity vào scene đang chạy lúc spawn (njin::scene_owned), để nó tự mất khi rời scene.
Definition njin_prefab.h:29
const char * name
Tên prefab, phải là duy nhất.
Definition njin_prefab.h:25
Định danh của một prefab, tạo bởi prefab_register().
Definition _types.h:314
Vị trí, góc xoay và tỉ lệ của một entity trong thế giới.
Definition _comps.h:14