GeWuYou
|
ad061bba46
|
feat(ui): 添加UI缓存统计和路由守卫功能
- 新增IUiCacheStatistics接口用于UI缓存统计信息
- 为IUiFactory添加缓存策略管理和统计信息获取功能
- 将IUiRouter中的层级管理改为路由守卫功能
- 实现路由守卫的注册、移除和执行逻辑
- 添加缓存配置管理支持
- [skip ci]
|
2026-01-20 10:24:23 +08:00 |
|
GeWuYou
|
e972d926a7
|
feat(ui): 添加UI过渡动画系统
添加了完整的UI过渡动画功能,包括:
- 新增UiTransitionAnimation枚举定义各种动画类型
- 扩展IUiRouter接口支持动画策略参数
- 新增IUiTransition接口定义动画播放契约
- 新增UiAnimationPolicy类配置动画行为
- 实现God
|
2026-01-20 09:36:59 +08:00 |
|
GeWuYou
|
c9f01f5877
|
feat(ui): 添加UI层级管理和Godot平台实现
- 在IUiRoot接口中添加Z-order控制和页面层级管理功能
- 实现Godot平台的UiRoot,支持UI页面的添加、移除和层级排序
- 添加UiLayer枚举定义不同UI层级(Page、Overlay、Modal、Toast、Topmost)
- 在IUiRouter中扩展层级管理方法,支持指定层级显示UI
- 实现UiRouterBase中的层级管理逻辑,包括显示、隐藏、清空等操作
- 添加对GodotSharp包的引用以支持Godot平台功能
|
2026-01-20 09:14:37 +08:00 |
|
GeWuYou
|
760cc71985
|
feat(ui): 实现UI实例池化管理和生命周期优化
- 添加UI实例管理策略枚举(AlwaysCreate、Reuse、Pooled)
- 在GodotUiFactory中实现缓存池和实例回收机制
- 扩展IUiFactory接口支持预加载、回收和缓存管理功能
- 更新UiRouterBase支持实例策略参数传递
- 重构Pop策略将Hide重命名为Cache以明确语义
- 移除项目文件中的冗余文件夹引用
- 添加日志记录便于调试和监控实例状态
- 实现批量预加载和全量缓存清理功能
- 优化页面替换逻辑支持实例复用和池化管理
|
2026-01-20 08:32:53 +08:00 |
|
GeWuYou
|
c2b046e185
|
chore(logging): 添加系统命名空间引用
- 在 AbstractLogger.cs 中添加 System 命名空间引用
- 在 ConsoleLogger.cs 中添加 System 和 System.IO 命名空间引用
- 统一日志模块的命名空间导入规范
|
2026-01-20 07:55:06 +08:00 |
|
GeWuYou
|
0a924725a5
|
feat(ui): 更新UiRouterBase以支持基于键值的页面导航
- 添加PeekKey方法获取页面栈顶元素的键值
- 修改Peek方法返回IUiPageBehavior对象而不是类型名称
- 更新IsTop和Contains方法使用键值比较替代类型名比较
- 在UiTransitionEvent中使用PeekKey获取来源UI键值
- 为CanvasItemUiPageBehavior添加key参数和Key属性实现
- 在IUiPageBehavior接口中定义Key属性
- 更新IUiRouter接口定义新的PeekKey和Peek方法
- 添加必要的using引用和异步任务配置
v0.0.126
|
2026-01-19 22:23:36 +08:00 |
|
GeWuYou
|
9c27aa5927
|
feat(ui): 添加对已存在UI页面的路由推送支持
- 在UiRouterBase中新增Push方法重载,支持直接推送已创建的IUiPageBehavior实例
- 统一页面推送逻辑到DoPushPageInternal方法,同时处理工厂创建和现有页面
- 更新Replace方法使用新的页面推送逻辑
- 优化日志输出,统一使用View.GetType().Name获取页面类型名称
- 为新功能添加完整的XML文档注释
- 在IUiRouter接口中定义新的Push方法重载签名
v0.0.125
|
2026-01-19 22:00:00 +08:00 |
|
GeWuYou
|
859bd1de41
|
feat(ui): 添加UI路由栈状态查询功能
- 在Push方法中添加栈顶检查,避免重复推送相同UI并记录警告日志
- 移除GetCurrentUiKey私有方法,使用Peek方法替代
- 添加Peek方法获取栈顶UI的类型名称
- 添加IsTop方法判断指定UI是否为栈顶元素
- 添加Contains方法检查UI是否存在于栈中
- 添加Count属性获取栈中元素数量
- 更新IUiRouter接口定义相关方法
- 简化DoClearInternal方法实现逻辑
v0.0.124
|
2026-01-19 21:05:13 +08:00 |
|
GeWuYou
|
766a73f2a9
|
feat(storage): 实现 Godot 文件存储删除功能
- 添加 Godot 命名空间引用
- 实现 Delete 方法的具体逻辑
- 支持 Godot 路径和普通文件路径的删除操作
- 添加文件存在性检查避免删除不存在的文件
- 实现线程安全的锁机制防止并发冲突
- 添加删除完成后的锁清理防止内存泄漏
- 提供详细的错误处理和异常抛出机制
v0.0.123
|
2026-01-19 20:12:20 +08:00 |
|
GeWuYou
|
48c962f874
|
docs(readme): 更新 NuGet 包链接和添加 zread 集成徽章
- 修正了 NuGet 包链接指向正确的 GeWuYou.GFramework 包
- 添加了 zread 集成徽章以支持文档阅读功能
- 保持了原有的项目描述和许可证信息不变
- [skip ci]
|
2026-01-19 19:36:51 +08:00 |
|
GeWuYou
|
c223fbcb5c
|
refactor(storage): 重构存储接口实现
- 将FileStorage类的接口从IStorage改为IFileStorage
- 添加IFileStorage接口定义,继承自IStorage接口
- 将ScopedStorage类的接口从IStorage改为IScopedStorage
- 添加IScopedStorage接口定义,继承自IStorage接口
- 更新相关命名空间引用
- 修改FileStorage类的XML注释文档
v0.0.122
|
2026-01-19 19:08:59 +08:00 |
|
GeWuYou
|
a30e576c03
|
feat(test): 完成GFramework.Core模块测试覆盖提升至100%
完成GFramework.Core模块测试覆盖详细清单的全面更新,
将测试覆盖率从79.2%提升至100%,新增63个测试用例。
主要变更包括:
- 补充异步命令系统测试,新增AbstractAsyncCommandTests.cs (12个测试)
- 补充异步查询系统测试,新增AsyncQueryBusTests.cs和AbstractAsyncQueryTests.cs (20个测试)
- 补充工具基类测试,新增AbstractContextUtilityTests.cs (11个测试)
- 补充常量验证测试,新增ArchitectureConstantsTests.cs和GFrameworkConstantsTests.cs (16个测试)
- 更新架构系统测试,新增ArchitectureConstantsTests.cs (11个测试)
- 更新CommandBus异步测试,补充4个异步测试方法
- 更新测试统计信息,包含详细的测试用例数量和覆盖率数据
- 完善测试质量总结和最佳实践指南
- [skip ci]
|
2026-01-19 08:55:13 +08:00 |
|
GeWuYou
|
3859098b7e
|
refactor(godot): 重构Godot UI注册表相关接口和类名
- 将IGodotAssetRegistry重命名为IGodotUiRegistry
- 将GodotAssetRegistry重命名为GodotUiRegistry
- 更新GodotUiFactory中的依赖注入类型
- 为IGodotSceneRegistry接口添加详细的XML文档注释
- 移除GodotUiFactory中不必要的Godot命名空间引用
v0.0.121
|
2026-01-18 22:46:15 +08:00 |
|
GeWuYou
|
825a026c8e
|
refactor(architecture): 重构架构上下文和服务初始化逻辑
- 移除 Architecture 类中的命令总线、查询总线和异步查询总线属性
- 修改 ArchitectureContext 构造函数,仅接收容器参数并实现服务缓存机制
- 添加 GetService 方法用于获取指定类型的服务实例
- 更新所有查询和命令方法使用服务缓存机制
- 修改 ArchitectureServices 构造函数初始化逻辑,将服务注册到容器
- 更新相关测试类中的上下文初始化方式
- 在 GameContext 和相关测试类中实现 GetService 方法
v0.0.120
|
2026-01-18 22:26:02 +08:00 |
|
GeWuYou
|
241efa0363
|
test(core): 添加核心组件单元测试
- 添加ArchitectureConstants类的完整单元测试,验证架构阶段常量和转换
- 添加AbstractAsyncCommand抽象类的单元测试,覆盖异步命令的各种场景
- 添加GFrameworkConstants框架常量的单元测试,确保常量值正确性
- 添加AbstractAsyncQuery抽象类的单元测试,验证异步查询功能
- 添加AsyncQueryBus查询总线的单元测试,测试异步查询发送功能
|
2026-01-18 21:43:56 +08:00 |
|
GeWuYou
|
db4306a7bc
|
test(command): 补充命令总线异步方法单元测试
- 添加SendAsync方法执行异步命令的测试用例
- 添加SendAsync方法处理null异步命令的异常测试
- 添加SendAsync泛型方法返回值的正确性测试
- 添加SendAsync泛型方法处理null异步命令的异常测试
- 新增TestAsyncCommand测试类用于异步命令验证
- 新增TestAsyncCommandWithResult测试类用于异步返回值验证
- 更新测试覆盖率报告反映异步功能测试需求
|
2026-01-18 21:12:13 +08:00 |
|
GeWuYou
|
1c1385ee24
|
feat(architecture): 添加异步查询总线支持
- 在Architecture类中添加AsyncQueryBus属性
- 在ArchitectureContext中添加异步查询执行方法SendQueryAsync
- 在ArchitectureServices中添加AsyncQueryBus服务实例
- 扩展IArchitectureContext接口以包含异步查询方法
- 扩展IArchitectureServices接口以包含异步查询总线
- 更新ArchitectureContext构造函数以接受异步查询总线参数
- 为ArchitectureContextTests添加异步查询总线相关测试用例
- 更新测试中的构造函数调用以包含新的异步查询总线参数
|
2026-01-18 20:53:44 +08:00 |
|
GeWuYou
|
15844b7077
|
refactor(query): 将IAsyncQueryBus接口移动到GFramework.Core.Abstractions模块
- 将IAsyncQueryBus.cs文件从GFramework.Core/query重命名为GFramework.Core.Abstractions/query
- 更新命名空间从GFramework.Core.query到GFramework.Core.Abstractions.query
- 移除无用的GFramework.Core.Abstractions.query using引用
- 添加System.Threading.Tasks命名空间引用
|
2026-01-18 20:41:48 +08:00 |
|
GeWuYou
|
42ddb80248
|
feat(core): 添加异步查询系统并优化命令系统实现
- 新增 AbstractAsyncQuery 基类支持异步查询操作
- 实现 AsyncQueryBus 和 IAsyncQueryBus 查询总线功能
- 添加 IAsyncQuery 接口定义异步查询契约
- 重构 CommandBus 的 SendAsync 方法移除不必要的 await
- 为 AbstractAsyncCommand 添加完整 XML 文档注释
- 更新 TEST_COVERAGE_PLAN.md 反映测试覆盖率提升至 91.5%
|
2026-01-18 20:39:23 +08:00 |
|
GeWuYou
|
1fb1334d88
|
refactor(template): 移除页面控制器模板中的接口前缀
- 移除了 OnExit 方法的 IUiPage 接口前缀
- 移除了 OnPause 方法的 IUiPage 接口前缀
- 移除了 OnResume 方法的 IUiPage 接口前缀
- 移除了 OnShow 方法的 IUiPage 接口前缀
- 移除了 OnHide 方法的 IUiPage 接口前缀
|
2026-01-18 20:23:37 +08:00 |
|
GeWuYou
|
078f5c2102
|
refactor(asset): 移除抽象资源目录工具并重构注册表接口
- 删除 AbstractAssetCatalogUtility 类及其所有实现逻辑
- 移除 AssetCatalog 相关结构体和接口定义
- 删除 IAssetCatalogUtility 和 IResourceFactoryUtility 接口
- 移除 AbstractResourceFactoryUtility 和 ResourceLoadUtility 实现
- 重命名 IUiRegistry 接口为 IAssetRegistry 并更新泛型参数说明
- 重命名 GodotUiRegistry 为 GodotAssetRegistry 并更新接口引用
- 创建新的 IGodotAssetRegistry 接口用于PackedScene资源管理
- 创建新的 IGodotSceneRegistry 接口并更新 GodotSceneRegistry 实现
- 更新 GodotUiFactory 中的依赖注入从 IUiRegistry 改为 IAssetRegistry
|
2026-01-18 20:14:33 +08:00 |
|
GeWuYou
|
3589a0cf2f
|
feat(registry): 添加通用注册表基础设施并重构UI注册功能
- 新增 IKeyValue 接口定义通用键值对数据结构契约
- 创建 IRegistry 接口提供通用注册表功能定义
- 实现 KeyValueRegistryBase 基类提供基于字典的键值对管理
- 添加 GodotSceneRegistry 类管理Godot场景资源
- 重构 GodotUiRegistry 和 GodotUiFactory 使用新的注册表基类
- 移除废弃的 IWritableUiRegistry 接口
- 更新项目文件添加注册表相关目录结构
v0.0.119
|
2026-01-18 16:01:10 +08:00 |
|
GeWuYou
|
bbb8d417f6
|
refactor(state): 将状态机相关类重命名以统一命名规范
- 将 ContextAwareStateMachine 重命名为 StateMachineSystem
- 将 ContextAwareStateMachineTests 重命名为 StateMachineSystemTests
- 将 GameStateMachine 重命名为 GameStateMachineSystem
- 创建新的 IStateMachineSystem 接口继承 ISystem 和 IStateMachine
- 移除 ContextAwareStateMachine 中对 system 的引用
- 将 Context 字段改为私有 _context 字段
- 更新所有测试类中的类型引用以匹配新名称
v0.0.118
|
2026-01-17 21:13:38 +08:00 |
|
GeWuYou
|
193e3f2cfa
|
chore(deps): 更新 Meziantou.Analyzer 依赖包版本
- 将 GFramework.Core.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.Game.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.Godot.SourceGenerators.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.SourceGenerators.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.SourceGenerators.Common 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
v0.0.117
|
2026-01-17 20:10:47 +08:00 |
|
GeWuYou
|
8fa3e0ec79
|
refactor(serializer): 重构序列化器接口继承实用工具接口
- 为 ISerializer 接口添加 using 语句引用 GFramework.Core.Abstractions.utility
- 修改 ISerializer 接口继承 IUtility 接口以提供基础实用功能
- 保持原有序列化和反序列化方法定义不变
|
2026-01-17 20:10:22 +08:00 |
|
GeWuYou
|
fedf7f9c98
|
refactor(PageControllerTemplate): 移除测试日志代码
- 删除了页面进入方法中的测试日志输出
- [skip ci]
|
2026-01-17 19:49:53 +08:00 |
|
GeWuYou
|
ba91b68c64
|
feat(architecture): 修改InstallModule和RegisterLifecycleHook方法返回实例
- InstallModule方法现在返回安装的模块实例
- RegisterLifecycleHook方法现在返回注册的钩子实例
- 为两个方法添加返回值的XML文档注释
- 更新接口定义以匹配新的返回类型
v0.0.116
|
2026-01-17 19:44:56 +08:00 |
|
GeWuYou
|
3bc7e84af4
|
feat(template): 添加UI页面控制器类模板
- 创建PageControllerTemplate.cs模板文件
- 实现IController、IUiPageBehaviorProvider和IUiPage接口
- 添加页面生命周期管理方法(OnEnter、OnExit、OnPause、OnResume、OnShow、OnHide)
- 集成CanvasItemUiPageBehavior页面行为实现
- 添加ContextAware和Log注解支持
- 提供页面行为实例的懒加载获取功能
|
2026-01-17 19:40:24 +08:00 |
|
GeWuYou
|
3137c85449
|
refactor(setting): 重构设置系统异步操作实现
- 移除原有的重置设置命令相关文件和方法
- 添加异步命令发送接口的默认实现
- 实现设置系统的异步应用功能
- 优化设置应用逻辑并添加泛型支持
- 统一任务完成状态返回方式
|
2026-01-17 19:33:15 +08:00 |
|
GeWuYou
|
e29b6da9e1
|
refactor(ContextAwareExtensions): 重构命令发送方法并优化代码结构
- 移除重复的SendCommand同步方法实现
- 统一Context变量命名规范,修复大小写不一致问题
- 调整方法顺序并重新组织代码结构
- 完善IAsyncCommand接口的XML文档注释
- 优化异步命令执行的实现逻辑
|
2026-01-17 19:26:13 +08:00 |
|
GeWuYou
|
a45bf27c8b
|
refactor(setting): 重构设置重置功能实现
- 移除 SettingsResetEvent 中的旧设置属性,改为仅保存新设置
- 删除 SettingsPersistence 中的重置方法,统一通过命令模式处理
- 在 SettingsSystem 中添加 ResetAsync 方法并集成命令模式
- 为 AudioSettings 和 GraphicsSettings 添加 Reset 方法实现
- 扩展 ISettingsData 接口添加 Reset 方法定义
- 从接口中移除重置相关方法定义
- 在 ISettingsSystem 中添加重置相关的异步方法声明
- 为 AudioBusMapSettings 添加 Reset 方法实现
- 新增 ResetSettingsCommand 和 ResetSettingsInput 实现命令模式
- 添加 SettingsData 抽象基类提供默认的 Reset 实现
- [skip ci]
|
2026-01-17 16:07:37 +08:00 |
|
GeWuYou
|
e7285b3426
|
feat(core): 添加异步命令支持功能
- 在 ArchitectureContext 中新增 SendCommandAsync 方法支持异步命令执行
- 在 CommandBus 中实现 SendAsync 方法处理异步命令的发送和执行
- 在 ContextAwareExtensions 中扩展 SendCommandAsync 扩展方法
- 更新 IArchitectureContext 接口定义异步命令方法契约
- 更新 ICommandBus 接口定义异步命令执行方法
- 新增 AbstractAsyncCommand 抽象类提供异步命令基类实现
- 定义 IAsyncCommand 接口规范异步命令的行为 contract
|
2026-01-17 16:03:00 +08:00 |
|
GeWuYou
|
6ef22e5d10
|
chore(test): 更新测试工作流配置
- 移除 trx 日志记录器中的 LogFileName 参数
- 简化测试结果日志配置以提高兼容性
- [skip ci]
|
2026-01-17 13:48:03 +08:00 |
|
GeWuYou
|
267d7cc84d
|
feat(setting): 添加设置系统事件通知和重置功能
- 在SettingsModel中添加事件相关依赖引用
- 在SettingsPersistence中实现设置加载、保存、删除的事件发送机制
- 添加SettingsDeletedEvent用于通知设置删除操作
- 添加SettingsResetEvent和SettingsResetAllEvent支持设置重置功能
- 在SettingsPersistence中新增ResetAsync和ResetAllAsync方法
- 修改TryApply方法为实例方法并添加设置应用过程的事件通知
- 添加SettingsApplyingEvent和SettingsAppliedEvent跟踪设置应用状态
- [skip ci]
|
2026-01-17 13:43:15 +08:00 |
|
GeWuYou
|
ce6cb3f8df
|
refactor(state): 修改状态机接口返回类型支持链式调用
- 将Register方法返回类型从void改为IStateMachine
- 将Unregister方法返回类型从void改为IStateMachine
- 在实现类中添加return this语句
- 更新接口定义以匹配新的返回类型
- 实现链式调用功能提升API易用性
v0.0.115
|
2026-01-17 13:20:33 +08:00 |
|
GeWuYou
|
9ae0f63324
|
feat(setting): 添加设置事件系统和改进设置模型接口
- 新增 SettingsAllLoadedEvent 事件类,用于表示所有设置加载完成
- 新增 SettingsAppliedEvent 事件类,用于表示设置应用完成状态
- 新增 SettingsApplyingEvent 事件类,用于表示设置正在应用过程
- 新增 SettingsBatchChangedEvent 事件类,用于表示批量设置变更
- 新增 SettingsBatchSavedEvent 事件类,用于表示批量设置保存
- 新增 SettingsChangedEvent 通用设置变更事件类
- 新增 SettingsLoadedEvent 和 SettingsSavedEvent 事件类
- 在 SettingsModel 中添加对 GFramework.Core.extensions 的引用
- 更新 RegisterApplicator 方法支持链式调用并改进注释说明
- 新增 ISettingsChangedEvent 接口定义设置变更事件基础结构
- 修改 ISettingsModel 接口使 RegisterApplicator 方法支持链式调用
- 修改 ISettingsPersistence 接口继承 IContextUtility 接口
|
2026-01-17 13:16:50 +08:00 |
|
GeWuYou
|
103792f178
|
feat(state): 为状态基类添加销毁功能支持
- 实现 IDisposable 接口以支持资源清理
- 添加 Destroy 方法用于状态销毁和资源释放
- 在状态机切换时调用 Destroy 替代 Dispose
- 允许子类重写 Destroy 方法执行特定清理操作
- 确保状态切换时正确释放相关资源
|
2026-01-17 13:08:55 +08:00 |
|
GeWuYou
|
00053e67e5
|
refactor(architecture): 修改注册方法返回注册成功的实例
- 修改RegisterSystem方法返回注册的系统实例
- 修改RegisterModel方法返回注册的模型实例
- 修改RegisterUtility方法返回注册的工具实例
- 更新接口定义以匹配新的返回值类型
- 添加泛型约束说明到XML文档注释
|
2026-01-17 13:07:56 +08:00 |
|
GeWuYou
|
e656c805e8
|
fix(ci): 修复.NET测试报告路径配置问题
- 修改TRX日志文件名为动态格式{assembly}.trx
- 更新测试结果输出目录为GitHub工作空间路径
- 修正测试报告步骤中的路径引用以匹配实际输出位置
- [skip ci]
|
2026-01-17 11:51:30 +08:00 |
|
GeWuYou
|
047647b04a
|
chore(workflow): 更新测试配置以指定统一输出目录
为dotnet test命令添加--results-directory参数,
将测试结果输出到./TestResults目录,
便于后续的测试报告处理和分析
v0.0.114
|
2026-01-17 11:41:28 +08:00 |
|
GeWuYou
|
9f505061bd
|
refactor(Architecture): 移除多余的注释标记
移除了Lifecycle Management区域中关于方案1的多余注释标记,
保留了必要的方法文档注释,使代码更加简洁清晰。
|
2026-01-17 11:38:04 +08:00 |
|
GeWuYou
|
d25b8661ae
|
feat(.github): 添加.NET测试报告功能
- 配置dotnet test命令输出TRX格式的测试结果文件
- 集成dorny/test-reporter@v2来展示.NET测试报告
- 使用TestResults/*.trx路径匹配测试结果文件
- 采用dotnet-trx报告器格式化显示测试统计信息
|
2026-01-17 11:37:19 +08:00 |
|
GeWuYou
|
44b7a223d8
|
refactor(architecture): 优化组件初始化和销毁管理机制
- 将_pendingInitializableList重命名为_pendingInitializableSet并改为HashSet类型,
实现组件去重功能
- 新增_pendingInitializableList保持组件注册顺序
- 将_disposables重命名为_disposableSet并改为HashSet类型,避免重复注册
- 新增_disposables列表保持销毁顺序
- 在添加可初始化组件时使用原子去重检查
- 在添加可销毁组件时使用原子去重检查
- 清空操作同步清理对应的Set集合
- 销毁组件时按注册逆序进行销毁,确保依赖关系正确处理
|
2026-01-17 11:30:39 +08:00 |
|
GeWuYou
|
47326085e7
|
fix(state): 修改状态机切换方法返回值类型并改进转换失败处理
- 将ChangeTo方法返回值从void改为bool类型
- 添加转换失败时返回false的逻辑
- 在状态转换被拒绝时调用OnTransitionRejected回调
- 更新接口定义以匹配新的返回值类型
- 修改单元测试以验证转换失败时的返回值
- [skip ci]
|
2026-01-17 10:06:16 +08:00 |
|
GeWuYou
|
f70254716b
|
refactor(architecture): 重构架构阶段验证和初始化流程
- 修改阶段转换验证逻辑,允许从任何阶段转换到 FailedInitialization
- 调整初始化流程,确保始终进入各个阶段而不仅仅是有组件时才进入
- 重新排列阶段转换顺序,实现线性状态机模式
- 添加架构阶段线性顺序定义数组
- 更新测试用例以验证初始化失败时抛出异常的情况
|
2026-01-17 10:05:52 +08:00 |
|
GeWuYou
|
177de6d3e6
|
fix(ci): 更新工作流中的测试命令
- 注释掉原始的 dotnet test 命令
- 添加带过滤输出的新测试命令,只显示测试总数、通过数和失败数
- 保持测试执行的正常流程不受影响
|
2026-01-17 10:00:24 +08:00 |
|
GeWuYou
|
d8df348bec
|
refactor(architecture): 重构架构生命周期管理和组件注册逻辑
- 添加IDisposable接口导入并优化组件生命周期管理
- 引入IInitializable和IDisposable统一管理待初始化和可销毁组件
- 实现统一的组件生命周期注册逻辑RegisterLifecycleComponent方法
- 重构InitializeAllComponentsAsync方法按类型分组初始化组件
- 更新RegisterSystem、RegisterModel和RegisterUtility方法使用新生命周期管理
- 修改Destroy方法使用新的_disposables集合进行有序销毁
- 移除旧的_mModels、_mSystems、_mContextUtilities字段
- 添加ValidateRegistration方法验证注册时机
- 重构InitializeInternalAsync方法使用新的组件初始化流程
- 移除废弃的InitializeComponentAsync方法
- 添加异常处理和错误日志记录机制
|
2026-01-17 09:14:04 +08:00 |
|
GeWuYou
|
efa069d2f5
|
refactor(core): 重构核心框架生命周期管理
- 引入标准化的生命周期接口体系 (IInitializable, IDisposable, ILifecycle)
- 将上下文工具类的初始化方法改为公共访问权限
- 为上下文工具类添加销毁功能和相关回调方法
- 更新模型和系统接口以使用新的生命周期接口
- 移除原有的独立初始化和销毁方法声明
- 统一框架组件的生命周期管理机制
|
2026-01-17 08:52:51 +08:00 |
|
GeWuYou
|
b6554c5820
|
refactor(state): 重构状态机实现以支持状态历史记录和线程安全
- 在销毁时添加当前状态退出和所有状态清理逻辑
- 向IStateMachine接口添加状态检查、获取、历史记录等新方法
- 实现线程安全的状态机,添加锁保护并发访问
- 添加状态历史记录功能,支持最大历史数量限制
- 实现GoBack状态回退功能和状态转换验证
- 添加状态切换前后的回调方法
- 在注销状态时从历史记录中移除相关引用
- 添加Unregister方法中的状态转换验证逻辑
|
2026-01-17 08:43:32 +08:00 |
|
GeWuYou
|
442e8e7088
|
refactor(setting): 重构设置系统以支持数据和应用器分离
- 将SettingsModel内部存储分离为_dataSettings和_applicators两个字典
- 添加IDataSettings接口用于标识纯数据设置
- 修改Get方法为GetData以明确区分数据获取
- 添加RegisterApplicator和GetApplicator方法管理可应用设置
- 更新TryGet方法支持从数据和应用器中查找设置
- 扩展SettingsPersistence支持批量保存和加载所有设置数据
- 将AudioBusMap重命名为AudioBusMapSettings并实现ISettingsData接口
- 修改Godot音频和图形设置适配新的接口变更
- [skip ci]
|
2026-01-16 23:44:28 +08:00 |
|