feat(game_core): 重构游戏引擎并添加新功能
- 重构了游戏引擎的核心逻辑和架构 - 添加了新的实体组件系统(ECS) - 实现了简单的碰撞检测和响应 - 新增了地图和子弹功能 - 优化了输入处理和渲染逻辑 - 调整了游戏控制方式
This commit is contained in:
@@ -4,14 +4,21 @@
|
||||
#include <interface/ge_render.h>
|
||||
|
||||
typedef enum {
|
||||
GE_RENDER_COMPONENT_TYPE_NONE,
|
||||
GE_RENDER_COMPONENT_TYPE_POINT,
|
||||
GE_RENDER_COMPONENT_TYPE_TEXT,
|
||||
GE_RENDER_COMPONENT_TYPE_RECT,
|
||||
GE_RENDER_COMPONENT_TYPE_RECOURCE,
|
||||
GE_RENDER_COMP_TYPE_NONE,
|
||||
GE_RENDER_COMP_TYPE_POINT,
|
||||
GE_RENDER_COMP_TYPE_TEXT,
|
||||
GE_RENDER_COMP_TYPE_RECT,
|
||||
GE_RENDER_COMP_TYPE_RECOURCE,
|
||||
|
||||
GE_RENDER_COMP_TYPE_TILEMAP,
|
||||
|
||||
GE_RENDER_COMP_TYPE_SIZE, /* never used, only for calulate size */
|
||||
} ge_render_component_type_t;
|
||||
|
||||
typedef struct ge_render_component {
|
||||
struct ge_render_component;
|
||||
typedef struct ge_render_component ge_render_component_t;
|
||||
|
||||
struct ge_render_component {
|
||||
ge_render_component_type_t type;
|
||||
union {
|
||||
struct {
|
||||
@@ -21,7 +28,12 @@ typedef struct ge_render_component {
|
||||
ge_render_pos2_t size;
|
||||
ge_render_color_t color;
|
||||
} rect;
|
||||
struct {
|
||||
ge_render_pos2_t map_size; // number of tiles
|
||||
ge_render_unit_t tile_size;
|
||||
ge_render_component_t** components; // not be tilemap
|
||||
} tilemap;
|
||||
} data;
|
||||
} ge_render_component_t;
|
||||
};
|
||||
|
||||
#endif // __GE_RENDER_COMPONENT_H__
|
||||
|
||||
Reference in New Issue
Block a user