- 重构了游戏引擎的核心逻辑和架构 - 添加了新的实体组件系统(ECS) - 实现了简单的碰撞检测和响应 - 新增了地图和子弹功能 - 优化了输入处理和渲染逻辑 - 调整了游戏控制方式
40 lines
1003 B
C
40 lines
1003 B
C
#ifndef __GE_RENDER_COMPONENT_H__
|
|
#define __GE_RENDER_COMPONENT_H__
|
|
|
|
#include <interface/ge_render.h>
|
|
|
|
typedef enum {
|
|
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;
|
|
|
|
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 {
|
|
ge_render_color_t color;
|
|
} point;
|
|
struct {
|
|
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;
|
|
};
|
|
|
|
#endif // __GE_RENDER_COMPONENT_H__
|