feat(engine): 重构游戏引擎核心逻辑
- 重新设计了引擎的初始化和运行流程 - 引入了实体组件系统(ECS)和物理系统 - 优化了渲染系统和输入系统 - 移除了不必要的资源管理系统 - 调整了日志系统的实现
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user