Commit Graph

21 Commits

Author SHA1 Message Date
ChestnutYueyue 8fc3b794d2 refactor(engine): 重构模块系统与平台后端
- 移除PlatformModule和LoggerModule,改为使用E2D_MODULE宏自动注册模块
- 新增ModuleRegistry和ModuleMeta系统实现模块自发现
- 将BackendFactory从PlatformModule移至独立文件
- 添加export.h统一管理导出宏
- 更新README.md添加模块自发现流程图
- 修复SDL2Input初始化状态管理问题
- 清理不再使用的平台配置相关代码
- 示例项目改为静态链接确保模块自动注册
- 添加属性绑定系统支持运行时反射
2026-02-16 09:29:11 +08:00
ChestnutYueyue a78e6f7a05 fix: 将键盘事件检测从keyCode改为scancode
统一使用scancode作为键盘事件的检测标准,提高跨平台兼容性
2026-02-15 20:48:09 +08:00
ChestnutYueyue efc9961d2d refactor(event): 统一事件类型命名并优化输入系统
- 将事件类型命名从过去式改为现在式(如KeyPressed→KeyPress)
- 合并鼠标事件数据结构,使用统一的MouseEvent替代MouseButtonEvent
- 重构输入系统,使用SDL原生枚举值简化键位映射
- 更新相关文档和示例代码以匹配新的命名规范
2026-02-15 20:42:39 +08:00
ChestnutYueyue d06c8735bd docs: 添加快速入门指南并更新文档索引
添加详细的快速入门指南文档,涵盖从安装到创建第一个游戏的完整流程
更新 README.md 中的文档索引部分以包含新指南链接
2026-02-15 20:15:59 +08:00
ChestnutYueyue f8a7fab2e7 feat: 重构模块系统并添加事件监听便捷方法
重构整个模块系统,移除旧的模块注册和初始化机制,改为直接继承 Module 基类的方式。新增 Node 类的事件监听便捷方法,简化事件处理流程。

主要变更包括:
1. 移除 module_config.h、module_initializer.h 和 module_registry.h 等旧模块系统文件
2. 新增 core/module.h 作为新模块系统基础
3. 为 Node 类添加 addListener/removeListener 等事件便捷方法
4. 将原有模块(Logger, Config, Platform等)重构为继承 Module 的新实现
5. 更新 Application 类以支持新的模块管理方式
6. 修改 hello_module 示例展示新模块系统用法
2026-02-15 20:13:18 +08:00
ChestnutYueyue b55d279611 feat(示例): 添加自定义模块示例和文档
新增HelloModule示例展示如何创建自定义模块,包含:
1. 模块配置类实现
2. 模块初始化器实现
3. 自动注册机制
4. JSON配置支持
5. 场景中使用模块的示例

同时更新模块系统文档,详细说明自定义模块开发流程
2026-02-15 17:00:39 +08:00
ChestnutYueyue 2d8b98bba6 docs(模块系统): 添加场景图和视口适配系统的文档
添加场景图系统的详细说明,包括Node基类、Scene类、ShapeNode和变换继承
添加视口适配系统的文档,包括ViewportAdapter和不同适配模式的说明
更新示例部分以包含新的场景相关实现文件
2026-02-15 13:39:18 +08:00
ChestnutYueyue 6c6cac55f7 feat(渲染): 实现节点层级变换支持
refactor(场景图): 简化形状节点渲染逻辑

feat(输入): 添加输入事件到事件服务的连接

docs(模块系统): 更新文档说明模块配置和平台支持

test(示例): 添加场景图测试示例展示节点变换
2026-02-15 13:32:42 +08:00
ChestnutYueyue 8c56c29cd2 refactor(platform): 重构平台和模块配置系统
将平台相关配置分离到独立头文件
移除AppConfig中的模块配置,改为模块自行管理
统一使用SDL2作为窗口后端
优化Switch平台支持
添加模块配置接口
重构配置加载器以支持模块配置
2026-02-15 12:36:36 +08:00
ChestnutYueyue 269f2d907d docs: 添加模块系统文档
添加 Extra2D 模块系统的详细文档,包括架构设计、核心接口、创建模块步骤、内置模块说明和最佳实践
2026-02-15 10:11:09 +08:00
ChestnutYueyue b949d1a3da docs: 删除Extra2D构建系统文档和API教程文档
删除以下文档文件:
- docs/Extra2D构建系统文档.md
- docs/API_Tutorial/01_Quick_Start.md
- docs/API_Tutorial/02_Scene_System.md
- docs/API_Tutorial/03_Node_System.md
- docs/API_Tutorial/05_Input_Handling.md
- docs/API_Tutorial/06_Collision_Detection.md
- docs/API_Tutorial/08_Audio_System.md
- docs/API_Tutorial/09_Action_System.md
2026-02-14 17:43:50 +08:00
ChestnutYueyue f02b368dc9 refactor(action): 重构动作系统架构并添加新功能
重构动作系统核心架构,主要变更包括:
1. 将动作系统拆分为多个模块化头文件
2. 新增动作管理器实现集中管理
3. 添加瞬时动作、间隔动作和特殊动作类
4. 实现完整的缓动动画系统
5. 优化节点动作接口与性能

新增功能:
1. 支持颜色和翻转动画
2. 添加回调动作和节点管理动作
3. 实现跟随和速度控制等特殊动作
4. 提供30+种缓动函数支持

BREAKING CHANGE: 动作系统API不兼容旧版本,需更新相关调用代码
2026-02-13 18:46:42 +08:00
ChestnutYueyue 3ffcd692b6 feat(对象池): 实现高性能自动管理对象池系统
- 新增自动内存对齐、线程本地缓存和自动容量管理的对象池实现
- 为推箱子示例添加撤销功能演示对象池使用
- 优化对象池内存管理,支持自动预热和收缩
- 添加详细API文档说明对象池特性和使用方法
- 在应用启动时自动预热水对象池减少运行时延迟
2026-02-13 17:34:46 +08:00
ChestnutYueyue 65825946be docs(API_Tutorial): 移除链式调用示例并更新UI文档
更新UI系统文档,移除了所有链式调用方法的示例,统一使用标准设置方法
修改最佳实践部分,移除关于链式调用的推荐
2026-02-13 16:58:40 +08:00
ChestnutYueyue b78c493590 feat(场景系统): 重构场景过渡系统并添加视口适配功能
重构过渡系统为基于 TransitionScene 的场景中介模式,新增多种过渡效果
为 BaseScene 添加视口适配功能,支持居中显示游戏内容
将按钮组件扩展支持切换模式,优化 UI 系统文档
更新示例项目使用新过渡系统和视口适配

新增 TransitionScene 基类及多种过渡效果实现:
- TransitionFadeScene 淡入淡出过渡
- TransitionSlideScene 滑动过渡
- TransitionScaleScene 缩放过渡
- TransitionFlipScene 翻页过渡
- TransitionBoxScene 方块过渡

BaseScene 提供视口适配功能:
- 计算居中视口参数
- 处理窗口大小变化
- 支持作为 TransitionScene 子场景渲染

UI 系统改进:
- Button 组件新增切换模式支持
- 合并 ToggleImageButton 功能到 Button
- 更新文档和示例使用切换按钮

示例项目更新:
- flappy_bird 使用新过渡系统
- push_box 实现完整场景结构和视口适配
- 更新场景切换 API 使用方式
2026-02-13 13:56:18 +08:00
ChestnutYueyue 4107e0b12b docs: 更新多个API教程文档并添加示例代码
为多个API教程文档添加详细示例代码和说明,包括:
- 音频系统:添加Flappy Bird音效管理器实现
- 输入处理:补充鼠标输入检测和游戏输入处理示例
- UI系统:增加按钮启用/禁用功能及动画控制示例
- 节点系统:完善动画系统文档和示例
- 资源管理:添加精灵帧和资源加载器实现
- 场景系统:补充视口适配方案和基础场景类实现
2026-02-13 08:56:27 +08:00
ChestnutYueyue 1b72a1c992 refactor(构建系统): 移除示例项目中的冗余资源打包逻辑
refactor(文档): 更新节点系统教程避免双重引用问题

fix(四叉树): 修复碰撞检测中的缓冲区越界问题

refactor(空间索引示例): 使用 getChildren() 替代私有 vector 存储节点

style(精灵批处理): 调整代码格式和初始化顺序
2026-02-12 22:31:34 +08:00
ChestnutYueyue 010e48753c docs(API_Tutorial): 更新输入处理和节点系统文档
更新输入处理文档,添加Xbox手柄按键映射和游戏控制示例
重构节点系统文档,详细说明坐标系、变换系统和最佳实践
2026-02-12 21:57:41 +08:00
ChestnutYueyue be92b3a5eb docs(ResourceManagement): 添加LRU缓存机制的详细文档 2026-02-12 12:31:14 +08:00
ChestnutYueyue d1a61ab235 feat(渲染系统): 实现渲染命令批处理和自动排序功能
refactor(资源管理): 重构资源管理器支持异步加载和纹理压缩

perf(对象池): 新增对象池实现优化小对象分配性能

docs(文档): 更新资源管理文档说明异步加载和纹理压缩功能

style(代码): 统一渲染命令数据结构命名规范
2026-02-11 22:30:57 +08:00
ChestnutYueyue f299d9e765 Initial commit 2026-02-11 19:40:26 +08:00