feat(engine): 重构游戏引擎核心逻辑
- 重新设计了引擎的初始化和运行流程 - 引入了实体组件系统(ECS)和物理系统 - 优化了渲染系统和输入系统 - 移除了不必要的资源管理系统 - 调整了日志系统的实现
This commit is contained in:
42
game_engine/interface/ge_render.h
Normal file
42
game_engine/interface/ge_render.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef __GE_RENDER_H__
|
||||
#define __GE_RENDER_H__
|
||||
|
||||
#include "ge_resource.h"
|
||||
#include <windows.h>
|
||||
typedef int ge_render_unit_t;
|
||||
typedef COLORREF ge_render_color_t;
|
||||
|
||||
typedef struct ge_render_pos2 {
|
||||
ge_render_unit_t x;
|
||||
ge_render_unit_t y;
|
||||
} ge_render_pos2_t;
|
||||
|
||||
typedef struct ge_render_rect {
|
||||
ge_render_pos2_t pos;
|
||||
ge_render_pos2_t size;
|
||||
} ge_render_rect_t;
|
||||
|
||||
struct ge_render;
|
||||
typedef struct ge_render ge_render_t;
|
||||
|
||||
typedef int(*ge_render_init_func_t) (ge_render_t* ctx, const ge_render_pos2_t* init_screen_size);
|
||||
typedef int(*ge_render_flush_func_t) (ge_render_t* ctx);
|
||||
|
||||
typedef int(*ge_render_draw_point_func_t) (ge_render_t* ctx, const ge_render_pos2_t* pos, ge_render_color_t color);
|
||||
typedef int(*ge_render_draw_rect_func_t) (ge_render_t* ctx, const ge_render_rect_t* rect, ge_render_color_t color);
|
||||
typedef int(*ge_render_draw_text_func_t) (ge_render_t* ctx, const ge_render_pos2_t* pos, const char* text);
|
||||
typedef int(*ge_render_draw_resource_func_t)(ge_render_t* ctx, const ge_render_pos2_t* pos, const ge_resource_t* res);
|
||||
|
||||
struct ge_render {
|
||||
void* context;
|
||||
ge_render_pos2_t screen_size;
|
||||
ge_render_init_func_t init_func;
|
||||
ge_render_flush_func_t func_flush;
|
||||
|
||||
ge_render_draw_point_func_t func_draw_point;
|
||||
ge_render_draw_rect_func_t func_draw_rect;
|
||||
ge_render_draw_text_func_t func_draw_text;
|
||||
ge_render_draw_resource_func_t func_draw_res;
|
||||
};
|
||||
|
||||
#endif // __GE_RENDER_H__
|
||||
Reference in New Issue
Block a user