Files
school_stm32/game_engine/ecs/ge_render_component.h
ZZY b5b2c90e75 feat(game_core): 重构游戏引擎并添加新功能
- 重构了游戏引擎的核心逻辑和架构
- 添加了新的实体组件系统(ECS)
- 实现了简单的碰撞检测和响应
- 新增了地图和子弹功能
- 优化了输入处理和渲染逻辑
- 调整了游戏控制方式
2025-07-02 12:14:57 +08:00

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__