YHH
|
995fa2d514
|
refactor(arch): 改进 ServiceToken 设计,统一服务获取模式 (#300)
* refactor(arch): 移除全局变量,使用 ServiceToken 模式
- 创建 PluginServiceRegistry 类,提供类型安全的服务注册/获取
- 添加 ProfilerServiceToken 和 CollisionLayerConfigToken
- 重构所有 __PROFILER_SERVICE__ 全局变量访问为 getProfilerService()
- 重构 __PHYSICS_RAPIER2D__ 全局变量访问为 CollisionLayerConfigToken
- 在 Core 类添加 pluginServices 静态属性
- 添加 getService.ts 辅助模块简化服务获取
这是 ServiceToken 模式重构的第一阶段,移除了最常用的两个全局变量。
后续可继续应用到其他模块(Camera/Audio 等)。
* refactor(arch): 改进 ServiceToken 设计,移除重复常量
- tokens.ts: 从 engine-core 导入 createServiceToken(符合规范)
- tokens.ts: Token 使用接口 IProfilerService 而非具体类
- 移除 AssetPickerDialog 和 ContentBrowser 中重复的 MANAGED_ASSET_DIRECTORIES
- 统一从 editor-core 导入 MANAGED_ASSET_DIRECTORIES
* fix(type): 修复 IProfilerService 接口与实现类型不匹配
- 将 ProfilerData 等数据类型移到 tokens.ts 以避免循环依赖
- ProfilerService 显式实现 IProfilerService 接口
- 更新使用方使用 IProfilerService 接口类型而非具体类
* refactor(type): 移除类型重导出,改进类型安全
- 删除 ProfilerService.ts 中的类型重导出,消费方直接从 tokens.ts 导入
- PanelDescriptor 接口添加 titleZh 属性,移除 App.tsx 中的 as any
- 改进 useDynamicIcon.ts 的类型安全,使用正确的 Record 类型
* refactor(arch): 为模块添加 ServiceToken 支持
- Material System: 创建 tokens.ts,定义 IMaterialManager 接口和 MaterialManagerToken
- Audio: 创建预留 tokens.ts 文件,为未来 AudioManager 服务扩展做准备
- Camera: 创建预留 tokens.ts 文件,为未来 CameraManager 服务扩展做准备
遵循"谁定义接口,谁导出 Token"原则,统一服务访问模式
|
2025-12-09 11:07:44 +08:00 |
|
YHH
|
3fb6f919f8
|
Feature/tilemap editor (#237)
* feat: 添加 Tilemap 编辑器插件和组件生命周期支持
* feat(editor-core): 添加声明式插件注册 API
* feat(editor-core): 改进tiledmap结构合并tileset进tiledmapeditor
* feat: 添加 editor-runtime SDK 和插件系统改进
* fix(ci): 修复SceneResourceManager里变量未使用问题
|
2025-11-25 22:23:19 +08:00 |
|
YHH
|
2621d7f659
|
refactor(core): 移除@Inject参数装饰器,统一使用@InjectProperty (#229)
* refactor(core): 移除@Inject参数装饰器,统一使用@InjectProperty
* refactor(core): 移除@Inject参数装饰器,统一使用@InjectProperty
|
2025-11-21 11:37:55 +08:00 |
|
YHH
|
620f3eecc7
|
style(core): ESLint自动修复代码格式问题 (#210)
|
2025-11-01 17:41:50 +08:00 |
|
YHH
|
cac6aedf78
|
调试插件 DebugPlugin
|
2025-10-14 22:12:35 +08:00 |
|
YHH
|
ae71af856b
|
插件系统
|
2025-10-11 09:26:36 +08:00 |
|
YHH
|
b13132b259
|
依赖注入引入DI容器
|
2025-10-10 21:52:43 +08:00 |
|
YHH
|
41bbe23404
|
新增ServiceContainer服务容器, 所有服务统一实现 IService 接口
|
2025-10-10 18:13:28 +08:00 |
|
YHH
|
69c46f32eb
|
支持二进制序列化
|
2025-10-08 20:42:55 +08:00 |
|
YHH
|
c631290049
|
对query/entity进行安全类型扩展
|
2025-10-08 13:13:23 +08:00 |
|
YHH
|
62bc6b547e
|
支持wx/browser的worker(由于wx限制默认不开启worker)
|
2025-09-29 13:21:08 +08:00 |
|
YHH
|
25136349ff
|
修复动态require导致的跨平台错误
新增emitter的dispose方法用于清理事件
启用composite增量编译
|
2025-08-13 12:18:40 +08:00 |
|
YHH
|
87dd564a12
|
项目统一改用Logger控制管理
拆分pool类和FluentAPI
|
2025-08-08 11:16:00 +08:00 |
|
YHH
|
ea8523be35
|
使用Lerna 和 monorepo管理项目结构
|
2025-08-07 13:29:12 +08:00 |
|