Commit Graph

9 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 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