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
_mod.h
1#pragma once
2#include "_types.h"
3#include <vector>
4
5namespace njin {
6struct context;
7
10
15using sys_fnc = void (*)(context &ctx);
16
43
47struct sys_desc {
48 sys_fnc fnc = nullptr;
50 i32 order = 100;
52 std::vector<sys_fnc> after{};
54 std::vector<sys_fnc> before{};
60 const char *name = nullptr;
61};
62
67struct mod_desc {
68 const char *name = nullptr;
69 void (*setup)(context &ctx) = nullptr;
70};
71
72} // namespace njin
sys_phase
Các phase của một frame, chạy theo đúng thứ tự khai báo.
Definition _mod.h:31
void(*)(context &ctx) sys_fnc
Một system là một hàm thường nhận context của engine.
Definition _mod.h:15
@ phase_post_update
Mỗi frame, sau khi cập nhật. Event được phát ngay sau phase này.
Definition _mod.h:36
@ phase_shutdown
Một lần, sau khi cửa sổ đóng.
Definition _mod.h:40
@ phase_update
Mỗi frame, logic chính của game.
Definition _mod.h:35
@ phase_startup
Một lần, trước frame đầu tiên.
Definition _mod.h:32
@ phase_render
Mỗi frame, vẽ trong không gian thế giới.
Definition _mod.h:38
@ phase_fixed_update
Theo nhịp cố định, 0 hoặc nhiều lần mỗi frame. Cho vật lý.
Definition _mod.h:34
@ phase_pre_render
Mỗi frame, trước khi vẽ thế giới.
Definition _mod.h:37
@ phase_count
Số lượng phase. Không phải một phase thật.
Definition _mod.h:41
@ phase_post_render
Mỗi frame, vẽ trong không gian màn hình (UI).
Definition _mod.h:39
@ phase_pre_update
Mỗi frame, trước khi cập nhật.
Definition _mod.h:33
std::int32_t i32
Số nguyên có dấu 32 bit.
Definition _types.h:14
Mô tả một module: một nhóm system có tên.
Definition _mod.h:67
const char * name
Tên module, phải là duy nhất.
Definition _mod.h:68
void(*) setup(context &ctx)
Đăng ký system của module.
Definition _mod.h:69
Định danh của một scene, tạo bởi scene_register().
Definition _types.h:139
Mô tả một system kèm ràng buộc thứ tự, dùng với ecs_register().
Definition _mod.h:47
std::vector< sys_fnc > after
Các system phải chạy trước system này.
Definition _mod.h:52
std::vector< sys_fnc > before
Các system phải chạy sau system này.
Definition _mod.h:54
sys_fnc fnc
Hàm system.
Definition _mod.h:48
scene_handle scene
Chỉ chạy khi scene này đang chạy (xem scene_register()).
Definition _mod.h:57
const char * name
Tên hiện trong njin_inspector (bảng thời gian từng system).
Definition _mod.h:60
i32 order
Giá trị nhỏ chạy trước, miễn là after/before cho phép.
Definition _mod.h:50