- 重构了游戏引擎的核心逻辑和架构 - 添加了新的实体组件系统(ECS) - 实现了简单的碰撞检测和响应 - 新增了地图和子弹功能 - 优化了输入处理和渲染逻辑 - 调整了游戏控制方式
51 lines
1.5 KiB
C
51 lines
1.5 KiB
C
#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,
|
|
ge_render_unit_t font_size,
|
|
ge_render_color_t font_color,
|
|
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__
|