19 Commits

Author SHA1 Message Date
deepsource-autofix[bot]
a30abdb4c3 refactor: simplify lambda expressions
This PR refactors numerous lambda expressions by removing unnecessary braces and streamlining single-statement lambdas throughout the codebase, improving readability and maintainability.

- Consider simplifying lambda when its body has a single statement: DeepSource flagged lambdas written with a block body for only one statement, causing extra verbosity. This update converts those to concise expression-bodied lambdas by stripping out the curly braces, applied across test assertions, event registrations, and unregister logic. The code is now cleaner and more consistent.

> This Autofix was generated by AI. Please review the change before merging.
2026-03-02 22:01:22 +08:00
GeWuYou
56769cbf01 feat(architecture): 添加异步销毁功能支持
- 在 Architecture 中添加对 IAsyncDestroyable 接口的支持
- 将销毁集合类型从 IDestroyable 改为 object 以支持多种销毁接口
- 实现 DestroyAsync 方法提供异步销毁能力
- 保留旧的同步 Destroy 方法用于向后兼容
- 在 StateMachineSystem 中添加异步销毁状态的支持
- 添加 IAsyncDestroyable、IAsyncInitializable 和 IAsyncLifecycle 接口定义
- 更新测试代码以使用新的异步销毁方法
- 在架构销毁时清理依赖注入容器
2026-02-17 18:41:16 +08:00
GeWuYou
f70254716b refactor(architecture): 重构架构阶段验证和初始化流程
- 修改阶段转换验证逻辑,允许从任何阶段转换到 FailedInitialization
- 调整初始化流程,确保始终进入各个阶段而不仅仅是有组件时才进入
- 重新排列阶段转换顺序,实现线性状态机模式
- 添加架构阶段线性顺序定义数组
- 更新测试用例以验证初始化失败时抛出异常的情况
2026-01-17 10:05:52 +08:00
GeWuYou
b6554c5820 refactor(state): 重构状态机实现以支持状态历史记录和线程安全
- 在销毁时添加当前状态退出和所有状态清理逻辑
- 向IStateMachine接口添加状态检查、获取、历史记录等新方法
- 实现线程安全的状态机,添加锁保护并发访问
- 添加状态历史记录功能,支持最大历史数量限制
- 实现GoBack状态回退功能和状态转换验证
- 添加状态切换前后的回调方法
- 在注销状态时从历史记录中移除相关引用
- 添加Unregister方法中的状态转换验证逻辑
2026-01-17 08:43:32 +08:00
GeWuYou
dda2d8f864 test(core): 添加核心组件单元测试并优化目标框架配置
- 在AsyncTestModel和TestModel中添加override关键字修复方法重写
- 调整GFramework.Core.Tests和GFramework.SourceGenerators.Tests的目标框架顺序为net10.0;net8.0
- 优化SyncArchitectureTests中的注释格式,统一添加前导空格
- 移除TestQuery相关代码文件
- 新增BindablePropertyTests测试绑定属性功能
- 新增CommandBusTests测试命令总线功能
- 新增EasyEventsTests和EventTests测试事件系统功能
- 新增IocContainerTests测试依赖注入容器功能
- 新增ObjectExtensionsTests测试对象扩展方法功能
- 新增ObjectPoolTests测试对象池功能
- 新增OrEventTests测试或事件功能
- 新增QueryBusTests测试查询总线功能
- [skip ci]
2026-01-15 13:53:08 +08:00
GwWuYou
e000665c67 feat(architecture): 添加上下文工具初始化阶段支持
- 在架构中新增 _mContextUtilities 集合存储未初始化的上下文工具
- 实现工具注册时根据初始化状态决定是否立即初始化上下文工具
- 添加 BeforeUtilityInit 和 AfterUtilityInit 两个新的架构阶段
- 更新架构阶段转换配置以支持工具初始化流程
- 在同步和异步架构测试中验证新的初始化阶段序列
- 完善架构初始化流程日志记录和调试信息
2026-01-07 21:16:43 +08:00
GeWuYou
cfdeb4649b style(core): 统一泛型参数命名规范并完善测试代码
- 将 EasyEvent 类中的泛型参数 Tk 统一改为 TK,保持命名一致性
- 更新所有使用 Tk 的地方为 TK,包括字段、方法参数和触发方法
- 在测试方法末尾添加 return 语句,提高代码可读性
- [skip ci]
2026-01-06 13:05:55 +08:00
GeWuYou
4f01828543 refactor(architecture): 重构架构基类和模型实现
- 移除 Architecture 类中关于业务操作方法的注释说明
- 更新 AsyncTestModel 继承 AbstractModel 并移除上下文设置相关方法
- 添加 ITestModel 接口定义用于测试模型
- 在 SyncArchitectureTests 中添加事件接收和取消注册功能测试
- 创建 TestEvent 和 EmptyEvent 用于事件系统测试
- 修改 TestModel 继承 AbstractModel 并实现 ITestModel 接口
- 添加 TestQuery 类用于测试查询操作功能
- [skip ci]
2026-01-06 12:07:03 +08:00
GwWuYou
f87c9cf421 style(csharp): 格式化代码样式和优化代码结构
- 统一调整代码注释的缩进格式,保持文档注释的一致性
- 简化对象初始化语法,移除不必要的参数名称指定
- 优化条件语句结构,移除多余的花括号
- 调整方法实现格式,使用表达式主体语法简化代码
- 标准化代码缩进和空格使用,提升代码可读性
- [skip ci]
2026-01-04 22:14:34 +08:00
GwWuYou
0c9063a5fd refactor(architecture): 移除架构运行时并使用命令查询总线
- 移除了 IArchitectureRuntime 接口和 ArchitectureRuntime 类
- 在 ArchitectureContext 中添加了对 ICommandBus 和 IQueryBus 的依赖注入
- 修改 Architecture 类以使用 CommandBus 和 QueryBus 替代 Runtime
- 更新 ArchitectureServices 以提供 CommandBus 和 QueryBus 服务
- 将组件初始化逻辑从 if-else 改为 switch 语句
- 更新 ContextAwareBase 以使用新的 GetFirstArchitectureContext 方法
- 添加了 CommandBus 和 QueryBus 的实现类
- 修复了 Godot 模块中系统获取的重复代码问题
2026-01-03 12:07:32 +08:00
GwWuYou
e543ef9baf refactor(tests): 提取架构初始化失败断言方法
- 添加 ArchitecturePhase 枚举的 using 引用
- 提取 AssertInitializationFailed 方法用于验证初始化失败状态
- 简化 AddPostRegistrationHook 中的 lambda 表达式语法
- 使用新提取的断言方法替换重复的断言逻辑
2026-01-02 12:20:17 +08:00
GwWuYou
e19f4ce5a1 refactor(architecture): 重构架构初始化方法和测试基类
- 将InitializeAsync方法改为真正的异步方法并正确等待内部初始化
- 移除多余的返回语句以符合异步模式
- 创建TestArchitectureBase基类来统一测试架构的公共功能
- 将AsyncTestArchitecture和SyncTestArchitecture继承自TestArchitectureBase
- 移除重复的属性和方法实现
- 添加完整的异步架构测试用例
- 包括组件初始化、阶段转换、异常处理等测试场景
2026-01-02 12:17:15 +08:00
GwWuYou
3729e2ead2 feat(architecture): 添加架构初始化失败处理和阶段转换规则
- 将 CurrentPhase 属性改为公共读取私有设置
- 在 Initialize 和 InitializeAsync 方法中添加异常处理机制
- 添加 ArchitectureFailedInitializationEvent 事件类型
- 定义架构阶段转换规则,支持失败初始化状态转换
- 添加 FailedInitialization 枚举值
- 在同步测试架构中添加后注册钩子功能
- 重构测试基类,移除重复的测试方法
- 添加架构初始化失败时的错误日志记录
- 实现初始化失败时自动进入 FailedInitialization 阶段
2026-01-02 11:49:12 +08:00
GwWuYou
78da01878b test(architecture): 添加异步架构测试并重构测试基类
- 创建 AsyncTestArchitecture 类用于异步测试
- 添加 AsyncTestSystem 实现异步初始化系统
- 创建 ArchitectureTestsBase 基类统一同步异步测试逻辑
- 实现 AsyncArchitectureTests 异步架构测试用例
- 将同步测试重构为继承自 ArchitectureTestsBase
- 移除重复的测试方法实现
- 重命名模型初始化状态属性为 Initialized
2026-01-02 10:53:55 +08:00
GwWuYou
67b0e83da4 refactor(architecture): 重构架构初始化逻辑并添加异步支持
- 修改模块安装日志格式,添加.Module后缀
- 重命名_mInited字段为_mInitialized以提高语义清晰度
- 将EnterPhase方法设为protected virtual以支持继承扩展
- 将阶段变更通知的日志级别从Debug调整为Trace
- 为NotifyPhase方法添加生命周期钩子的日志记录
- 实现同步和异步初始化方法(Initialize和InitializeAsync)
- 创建InitializeComponentAsync方法统一处理组件初始化逻辑
- 重构InitializeInternalAsync方法实现完整的异步初始化流程
- 重命名测试架构类TestArchitecture为SyncTestArchitecture
- 添加异步测试模型AsyncTestModel用于验证异步初始化功能
- 添加失败模型FailingModel用于测试异常处理机制
- 重命名系统测试类的初始化和销毁状态属性
- 创建新的同步架构测试类SyncArchitectureTests替代原有测试
- 删除已过时的ArchitectureInitializationTests测试类
2026-01-02 10:39:52 +08:00
GwWuYou
f022f25ae6 refactor(architecture): 优化架构上下文清理机制
- 将测试专用的 ResetForTests 方法重命名为 Clear 并改为公共方法
- 在测试初始化时添加上下文清理确保测试环境纯净
- 在测试清理时使用 try-finally 确保架构正确销毁和上下文清理
- 修复了架构对象可能未正确清理的潜在问题
2025-12-30 19:03:58 +08:00
GwWuYou
0be919d8b1 feat(architecture): 添加架构上下文管理和绑定功能
- 在Architecture类中添加GameContext.Bind调用以绑定架构上下文
- 创建GameContext类用于管理架构上下文实例的注册和获取
- 实现架构上下文的绑定、获取、查找和移除功能
- 更新ContextAwareGenerator生成器以使用懒加载方式获取上下文
- 在测试架构中添加就绪事件注册功能
- 添加架构上下文按类型注册的测试用例
2025-12-29 23:11:50 +08:00
GwWuYou
56ff201f94 feat(architecture): 为架构服务添加上下文支持并改进事件系统
- 在 ArchitectureServices 中添加 SetContext 和 GetContext 方法
- 为 IArchitectureServices 接口添加 IContextAware 继承
- 在架构初始化过程中设置服务上下文
- 将事件系统的 GetEvent 方法替换为 GetOrAddEvent 方法
- 重构测试类添加测试装置和拆卸逻辑
- 为测试类添加 NonParallelizable 特性确保测试隔离
2025-12-29 21:42:52 +08:00
GwWuYou
8130cf7fb0 refactor(ioc): 重构依赖注入容器和模型上下文管理
- 将IocContainer的Init方法重命名为OnContextReady并设为protected override
- 重构AbstractModel中的Architecture字段为_context属性并实现IContextAware接口
- 移除GetArchitecture和SetArchitecture方法,添加GetContext和SetContext方法
- 为IModel接口添加IContextAware继承
- 添加TestArchitecture、TestModel和TestSystem测试类
- 创建ArchitectureInitializationTests测试用例验证组件初始化
- 更新项目文件添加NUnit包引用和测试项目配置
- 在解决方案文件中添加测试项目引用
2025-12-29 21:14:23 +08:00