feat(engine): 重构游戏引擎核心逻辑

- 重新设计了引擎的初始化和运行流程
- 引入了实体组件系统(ECS)和物理系统
- 优化了渲染系统和输入系统
- 移除了不必要的资源管理系统
- 调整了日志系统的实现
This commit is contained in:
ZZY
2025-06-29 18:46:36 +08:00
parent 5ce660e3a6
commit 89bede93a9
37 changed files with 1294 additions and 350 deletions

View File

@@ -2,8 +2,9 @@
#define __GE_CORE_H__
#include <ge_common.h>
#include <render/ge_render.h>
#include <timer/ge_timer.h>
#include <ecs/ge_entity.h>
#include <ecs/ge_render_system.h>
#include <ecs/ge_physics_system.h>
struct ge_engine_core;
typedef struct ge_engine_core ge_core_t;
@@ -24,20 +25,31 @@ struct ge_engine_core {
struct {
ge_init_func_t init;
ge_exit_func_t exit;
ge_run_func_t run;
ge_run_func_t process;
} callbacks;
ge_engine_state_t state;
ge_render_t render;
ge_timer_t timer;
ge_ecs_t ecs;
DECLARE_GE_KFIFO(einput, ge_uptr_t, 16, ge_event_input_t);
struct {
ge_uint_t fps;
} configs;
void* context;
struct {
ge_render_system_t render;
ge_physics_system_t physics;
} _systems;
ge_render_t _render;
ge_timer_t _timer;
ge_input_t _input;
ge_run_func_t _inner_run;
void* _inner_context;
};
/**
* Basic Call
*/
int ge_main(ge_core_t* core);
void ge_engine_init(ge_core_t *core);
void ge_engine_run(ge_core_t *core);