239 Commits

Author SHA1 Message Date
GeWuYou
d88aa12014 fix(logging): 修复异步日志输出器刷新机制并增强线程安全性
- 实现了基于信号量的可靠Flush完成通知机制
- 添加了OnFlushCompleted事件用于监控刷新操作结果
- 修复了BindaleProperty的线程安全问题,添加锁保护
- 将协程异常回调改为异步执行,防止阻塞调度器主循环
- 优化了AsyncLogAppender的资源清理逻辑
- 增强了Flush方法的超时处理机制
2026-03-04 11:04:59 +08:00
GeWuYou
f984f4a600 refactor(core): 优化核心组件的线程安全性和错误处理
- 重构 AsyncLogAppender 的 Flush 方法,添加超时控制和 SpinWait 优化
- 为 BindableProperty 添加线程安全锁保护,确保并发访问的安全性
- 在 BindableProperty 中实现回调外部调用以避免死锁问题
- 为 EasyEvents 使用 ConcurrentDictionary 替代 Dictionary 提高并发性能
- 添加协程调度器异常处理回调机制,防止异常传播导致调度器崩溃
- 为 FileAppender 添加初始化异常处理和资源清理逻辑
- 补充完整的单元测试覆盖并发场景下的线程安全性验证
2026-03-04 11:04:59 +08:00
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
50c73a7d7c fix(pause): 修复暂停管理器销毁时的并发问题
- 在销毁过程中收集暂停组和处理器快照,避免并发修改异常
- 在锁外通知所有之前暂停的组恢复,保持生命周期信号一致性
- 添加异常处理确保单个处理器失败不影响其他处理器的通知
- 修改文件过滤规则以正确包含测试文件路径
2026-03-02 21:51:35 +08:00
GeWuYou
ccc3d046ca fix(pause): 修复暂停管理器的并发安全和资源清理问题
- 添加了_disposed标志位用于跟踪对象销毁状态
- 实现了完整的DestroyAsync方法进行资源清理和数据结构清空
- 添加了ThrowIfDisposed方法防止对象销毁后被使用
- 将状态变更通知移到锁外部以避免死锁问题
- 在多个公共方法中添加了销毁状态检查
- 修复了ClearGroup和ClearAll方法中的死锁风险
- 改进了异常处理机制,确保线程安全
2026-03-02 21:51:35 +08:00
GeWuYou
7734fba56f feat(pause): 添加暂停栈管理系统
- 实现了 PauseStackManager 核心管理器,支持嵌套暂停和分组管理
- 添加了 PauseToken 暂停令牌和 PauseGroup 暂停组枚举
- 创建了 PauseScope 作用域类,支持 using 语法自动管理暂停生命周期
- 实现了线程安全的暂停栈操作,包括 Push、Pop 和状态查询
- 添加了暂停处理器接口 IPauseHandler 和 Godot 平台具体实现
- 提供了完整的单元测试覆盖基础功能、嵌套暂停、分组管理和线程安全场景
2026-03-02 21:51:35 +08:00
GeWuYou
aa13760748 refactor(functional): 统一功能模块命名空间格式
- 将 GFramework.Core.Functional 命名空间统一改为 GFramework.Core.functional
- 更新 AsyncFunctionalExtensions.cs 中的命名空间声明
- 移除不必要的 using 指令,包括 GFramework.Core.Functional 的导入
- 调整测试文件中的命名空间引用以匹配新的命名空间格式
- 确保所有相关文件都使用一致的小写命名空间约定
2026-03-02 21:51:35 +08:00
GeWuYou
e391bab1ee refactor(ecs): 更新 ArchSystemAdapter 中 OnUpdate 方法的文档注释
- 修改了核心更新逻辑方法的文档描述
- 明确说明该方法为受保护虚方法,默认不执行任何操作
- 详细说明子类可以按需选择性重写此方法来实现具体系统逻辑
- 更新了参数说明文档
2026-03-02 21:20:50 +08:00
GeWuYou
db716a63cb fix(ecs): 修复异步销毁方法返回值问题
- 移除 DestroyAsync 方法中的 async 关键字
- 修改条件判断逻辑,确保返回正确的 ValueTask.CompletedTask
- 删除不必要的 await 关键字,直接返回 ValueTask.CompletedTask
- 保持方法的异步操作正确性
2026-03-02 21:20:50 +08:00
GeWuYou
155ca3024b fix(ecs): 修复模块重复初始化和系统更新问题
- 添加 _isInitialized 标志防止 ArchEcsModule 重复初始化
- 在 Initialize 方法中检查是否已初始化避免重复执行
- 设置初始化标志在所有系统初始化完成后
- 修改 DestroyAsync 方法确保仅在已初始化时执行销毁
- 重置 _isInitialized 标志为 false 在销毁时
- 修正 ArchSystemAdapter 注释描述 OnUpdate 为虚方法而非抽象方法
- 简化 EcsAdvancedTests 中的断言语法移除不必要的大括号
2026-03-02 21:20:50 +08:00
GeWuYou
43dc5a4d11 refactor(ecs): 将 ECS 系统重构为基于 Arch 的原生实现
- 将 MovementSystem 从继承 EcsSystemBase 改为继承 ArchSystemAdapter
- 更新 MovementSystem 的初始化和更新方法以适配 Arch 架构
- 移除测试代码中的 ECS 相关接口实现和抽象层
- 将测试用例从 GFramework ECS API 迁移到 Arch 原生 API
- 更新 ECS 测试类以使用 Arch World 和实体操作方法
- 重构 ECS 模块初始化流程以支持 Arch 系统注册和管理
2026-03-02 21:20:50 +08:00
GeWuYou
40ba109671 refactor(ecs): 优化位置和速度组件的内存布局
- 为 Position 结构体添加 StructLayout 特性以确保顺序布局
- 为 Velocity 结构体添加 StructLayout 特性以确保顺序布局
- 更新 Velocity 组件的 XML 文档注释,提供更详细的描述
- 优化 Velocity 组件属性的文档注释,明确单位信息
- 添加 System.Runtime.InteropServices 命名空间引用
2026-03-02 21:20:50 +08:00
GeWuYou
d7bd9fc569 refactor(ecs): 将ECS系统重构为Arch适配器模式
- 移除原有的ECS基础实现和接口定义
- 添加ArchEcsModule作为新的ECS模块实现
- 创建ArchSystemAdapter基类用于桥接Arch系统
- 修改MovementSystem继承ArchSystemAdapter适配新架构
- 更新ServiceModuleManager使用新的ArchECS模块
- 移除ArchitectureContext中的ECS相关方法
- 从项目中移除对Arch包的直接依赖引用
2026-03-02 21:20:50 +08:00
GeWuYou
3675666e13 refactor(core): 重命名EcsModule为EcsServiceModule以提高命名一致性
- 将EcsModule类重命名为EcsServiceModule
- 更新构造函数名称以匹配新的类名
- 修改ModuleName属性中的类型引用
- 在服务模块管理器中更新模块实例化调用
2026-03-02 21:20:50 +08:00
GeWuYou
0ed8edf015 refactor(context): 重构上下文管理实现
- 引入 IArchitectureContextProvider 接口解耦上下文获取逻辑
- 创建 GameContextProvider 作为默认上下文提供者
- 添加 ScopedContextProvider 支持多架构实例场景
- 修改源代码生成器使用上下文提供者模式
- 增加 SetContextProvider 方法支持测试和多架构场景
- 添加 RegistryInitializationHookBase 简化注册表初始化逻辑
2026-03-02 12:42:09 +08:00
GeWuYou
e94e4890cd fix(logging): 统一使用UTC时间戳记录日志
- 将所有DateTime.Now替换为DateTime.UtcNow以确保时区一致性
- 修复文档中的时间戳记录方式
- 更新测试代码中的时间戳生成逻辑
- 统一框架各模块的时间记录标准
2026-02-26 19:57:42 +08:00
GeWuYou
7d0e5931d1 refactor(logging): 优化日志系统的时间戳和代码实现
- 将时间戳从本地时间改为UTC时间以提高一致性
- 使用ToUpperInvariant替代ToUpper提高文化区域安全性
- 简化LogContext中的空值检查逻辑
- 重构CompositeDisposable类以使用主构造函数语法
- 更新测试代码中的时间戳处理方式
2026-02-26 19:57:42 +08:00
GeWuYou
466aae49ec feat(logging): 增强日志配置加载器功能
- 添加 JsonStringEnumConverter 支持枚举的驼峰命名转换
- 实现 ConfigurableLoggerFactory 的 IDisposable 接口确保资源正确释放
- 支持日志级别配置的前缀匹配功能(命名空间层级匹配)
- 优化测试代码中的资源管理,使用 using 语句确保对象正确释放
- 修复 JsonLogFormatter 测试中的属性访问逻辑,使用 TryGetProperty 安全访问
- 将测试中的异常断言从 ArgumentNullException 更新为 ArgumentException
2026-02-26 19:57:42 +08:00
GeWuYou
1ba771e13a feat(logging): 实现结构化日志记录和异步日志输出功能
- 将 AbstractLogger 实现从 ILogger 扩展为 IStructuredLogger 接口
- 添加通用日志方法 Log(LogLevel, string, params object[]) 支持格式化参数
- 实现结构化日志方法支持属性键值对记录
- 添加 ConsoleAppender、FileAppender 和 AsyncLogAppender 日志输出器
- 实现 CompositeFilter 过滤器和 DefaultLogFormatter、JsonLogFormatter 格式化器
- 在 ConsoleLogger 和 GodotLogger 中使用预缓存的日志级别字符串提升性能
- 使用 ANSI 颜色代码替代 ConsoleColor 实现跨平台日志着色
- 在 ConsoleLoggerFactoryProvider 和 GodotLoggerFactoryProvider 中添加日志工厂缓存
- 优化 FileStorage 中目录遍历使用 OfType<string>() 类型转换
- 添加 LogContext 支持异步流中的结构化属性传递
2026-02-26 19:57:42 +08:00
GeWuYou
59fbb2253b feat(tests): 添加函数式编程扩展和Option类型测试
- 添加ControlExtensions的TakeIfValue、TakeUnlessValue、When、RepeatUntil和Retry方法测试
- 添加FunctionExtensions的Compose、AndThen、Curry、Uncurry、Defer和Once方法测试
- 添加Option<T>类型的完整测试套件,包括工厂方法、取值、变换、过滤、模式匹配等功能
- 添加PipeExtensions的Tap、Pipe、Let、PipeIf方法测试
- 移除AsyncExtensionsTests中的WhenAll相关测试
- 移除NumericExtensionsTests中的Clamp测试
- 更新ObjectExtensionsTests中Do方法为Also方法的测试
- 修复ControlExtensions文档中的XML代码标签格式
- 在AsyncExtensionsTests中添加对GFramework.Core.Functional.Async的引用
- 在ObjectExtensionsTests中添加对GFramework.Core.functional.pipe的引用
2026-02-26 14:45:39 +08:00
GeWuYou
28ce315d29 feat(functional): 添加函数式编程扩展方法
- 在 ControlExtensions 中添加 TakeIfValue 和 TakeUnlessValue 方法,支持值类型的条件判断
- 在 ControlExtensions 中添加 When 方法,支持条件执行操作
- 在 ControlExtensions 中添加 RepeatUntil 方法,支持重复执行直到条件满足
- 在 ControlExtensions 中添加 Retry 方法,支持同步重试机制
- 在 FunctionExtensions 中添加 Compose 和 AndThen 方法,支持函数组合
- 在 FunctionExtensions 中添加 Curry 和 Uncurry 方法,支持函数柯里化
- 在 FunctionExtensions 中添加 Defer 和 Once 方法,支持延迟执行和单次执行
- 在 PipeExtensions 中添加 Tap 方法,作为 Also 的别名
- 在 PipeExtensions 中添加 Pipe 方法,支持管道操作
- 在 PipeExtensions 中添加 Let 方法,支持作用域函数
- 在 PipeExtensions 中添加 PipeIf 方法,支持条件管道操作
2026-02-26 14:45:39 +08:00
GeWuYou
df0f00bd9e refactor(core): 重构核心库代码结构
- 将异步扩展方法移至新的 AsyncFunctionalExtensions 类中
- 删除重复的数值扩展、对象扩展和字符串扩展方法
- 添加 Option 函数式编程类型实现
- 重命名 ResultExtensions 文件路径
- 修复 ResultExtensions 中的错误处理逻辑
- 更新命名空间以符合新的包结构
2026-02-26 14:45:39 +08:00
GeWuYou
c454fa1acf perf(GFramework.Core): 优化PriorityEvent事件处理器性能
- 在MergeAndSortHandlers方法中创建_handlers和_contextHandlers的快照副本
- 避免在迭代期间直接访问集合可能发生的修改问题
- 提高事件处理时的性能表现和稳定性
2026-02-25 21:39:53 +08:00
GeWuYou
78e0c75641 refactor(events): 重构PriorityEvent事件处理逻辑
- 将原有的大块switch语句拆分为独立的方法
- 提取TriggerAll、TriggerUntilHandled和TriggerHighest方法
- 新增MergeAndSortHandlers方法用于合并和排序处理器
- 添加GetHighestPriority方法获取最高优先级值
- 分离普通事件处理器和上下文事件处理器的执行逻辑
- 提高代码可读性和维护性
2026-02-25 21:39:53 +08:00
GeWuYou
eec50ab45b feat(events): 添加事件上下文支持和线程安全改进
- 在EventBus中添加RegisterWithContext方法支持事件上下文
- 实现EventContext<T>类包装事件数据并提供处理控制
- 在PriorityEvent中添加上下文事件处理器和相关管理逻辑
- 改进事件触发机制支持普通和上下文处理器混合使用
- 优化MicrosoftDiContainer的线程安全性和并发访问
- 修复SpanExtensions中TryParseValue的返回值类型问题
- 添加全面的单元测试覆盖新功能和边界情况
2026-02-25 21:39:53 +08:00
GeWuYou
e2dca4f5a6 feat(events): 添加事件优先级和传播控制功能
- 实现了事件优先级机制,支持按优先级顺序执行事件处理器
- 新增EventPropagation枚举,支持All、UntilHandled和Highest三种传播模式
- 添加Register方法的重载版本,支持指定事件处理器优先级
- 实现Send方法的重载版本,支持指定事件传播模式
- 新增PriorityEvent类处理带优先级的事件逻辑
- 添加IocContainer的CreateScope方法支持服务作用域管理
- 实现RegisterTransient和RegisterScoped方法完善依赖注入生命周期
- 新增SpanExtensions扩展方法提供高性能的span操作功能
- 添加全面的单元测试覆盖事件优先级、IoC容器生命周期和span扩展功能
2026-02-25 21:39:53 +08:00
GeWuYou
e2cfa7bffa fix(pool): 修复对象池系统中的双重释放和线程安全问题
- 修复 ActiveCount 在双重释放时可能变为负数的问题
- 添加对错误 key 释放的防护和警告日志
- 优化 StringBuilderPool 使用 ConcurrentBag 实现线程安全
- 改进池容量限制逻辑,超过最大容量的对象将被销毁
- 添加完整的单元测试验证双重释放、错误释放和线程安全场景
2026-02-25 20:40:02 +08:00
GeWuYou
eb763a9bc4 feat(pool): 重构对象池系统增加统计和容量控制功能
- 引入 PoolInfo 类来管理对象池的核心数据结构和统计信息
- 添加对象池容量限制功能,超过容量时自动销毁多余对象
- 实现对象池统计功能,跟踪创建、获取、释放、销毁等操作计数
- 新增 GetPoolSize 和 GetActiveCount 方法获取池状态信息
- 添加 SetMaxCapacity 方法设置池的最大容量限制
- 实现 Prewarm 功能用于预创建对象提高性能
- 提供 GetStatistics 方法获取详细的池统计信息
- 添加 IsExternalInit 支持旧版 .NET 框架的 init-only 属性
- 扩展 ArrayPool 添加便捷的扩展方法和自动释放功能
- 新增 StringBuilderPool 提供高性能的字符串构建器复用
- 完善单元测试覆盖新增的所有功能特性
2026-02-25 20:40:02 +08:00
GeWuYou
1d50dc2224 fix(result): 修复Result扩展和异常处理逻辑
- 在Combine方法中添加对Bottom状态的检查和处理
- 使用IfSucc方法简化成功状态下的值添加逻辑
- 修正泛型绑定示例中的语法错误
- 在FromNullable和FromNullableStruct方法中使用nameof获取参数名称
- 改进Exception属性的文档说明并优化异常消息
- 在Try方法中添加对空函数的验证
2026-02-25 20:21:37 +08:00
GeWuYou
61349a83ab feat(functional): 增强Result类型功能并添加完整测试覆盖
- 为Result.Failure方法添加参数验证,确保异常和消息参数不为空
- 重构Result<T>内部状态枚举顺序以优化比较逻辑
- 为Result<T>的Map、Bind和MapAsync方法添加参数验证和异常处理
- 在Result<T>比较逻辑中添加类型不可比较时的安全处理
- 添加ResultExtensions.BindAsync扩展方法支持异步绑定操作
- 重写Combine扩展方法中对失败结果的处理逻辑
- 添加完整的Result相关类型单元测试覆盖所有功能场景
- 为Result类型添加详细的XML文档注释和使用示例
2026-02-25 20:21:37 +08:00
GeWuYou
1cb7dfdb14 feat(functional): 添加函数式编程支持和Result类型实现
- 实现了Result和Result<T>结构体,提供函数式错误处理
- 添加了AsyncExtensions中的函数式编程命名空间引用
- 在FunctionExtensions中添加函数式编程相关引用
- 从项目文件中移除LanguageExt.Core依赖包
- 重构GlobalUsings.cs移除不必要的全局引用
- 添加ResultExtensions扩展方法支持函数式操作
- 实现Map、Bind、Match等核心函数式编程方法
- 添加异步操作支持和安全执行委托功能
2026-02-25 20:21:37 +08:00
GeWuYou
afbff7127d refactor(extensions): 重构异步扩展中的超时处理机制
- 将参数从直接传入Task改为传入接收取消令牌的任务工厂方法
- 更新XML文档注释以反映新的参数设计
- 优化取消令牌处理逻辑,统一管理超时和外部取消信号
- 改进异常处理机制,确保超时情况下正确抛出TimeoutException
- 简化代码结构并提高可读性
2026-02-25 17:28:52 +08:00
GeWuYou
850fecdff4 fix(async): 修复异步扩展中的超时和重试逻辑问题
- 修复TimeoutAfter方法中的取消令牌处理逻辑,避免OperationCanceledException被意外捕获
- 修复RetryAsync方法中的参数验证,移除对可空值类型的空值检查
- 为RetryAsync方法添加throwOriginal参数以控制异常抛出行为
- 统一超时处理中的令牌取消方式,使用linkedCts.Cancel()替代timeoutCts.CancelAsync()
2026-02-25 17:28:52 +08:00
GeWuYou
475f301d9f feat(extensions): 添加多个扩展方法类和对应测试
- 新增 AsyncExtensions 提供异步任务超时、重试、安全执行等功能
- 新增 CollectionExtensions 提供集合遍历、空值检查、过滤等扩展功能
- 新增 GuardExtensions 提供参数验证的 Guard 模式扩展方法
- 新增 NumericExtensions 提供数值范围限制、插值计算等数学扩展功能
- 为所有扩展方法添加完整的单元测试覆盖正常和异常情况
- 包含详细的 XML 文档注释和使用示例代码
2026-02-25 17:28:52 +08:00
GeWuYou
7046c2cd47 feat(services): 添加内置模块重复注册检查功能
- 在 ServiceModuleManager 中添加 _builtInModulesRegistered 标志位
- 实现重复注册检测逻辑,避免内置模块被多次注册
- 更新 RegisterBuiltInModules 方法的文档注释
- 在销毁所有模块时重置注册标志位
- 优化方法参数命名和描述信息
- 改进代码结构和注释内容
2026-02-23 13:53:29 +08:00
GeWuYou
5cb0a03d5c refactor(architecture): 重构架构服务接口设计
- 将 ArchitectureServices 类型改为 IArchitectureServices 接口
- 简化 IArchitectureServices 接口中属性声明的访问修饰符
- 为 IArchitectureServices 接口添加模块管理器属性
2026-02-23 13:53:29 +08:00
GeWuYou
c593c5016b feat(architecture): 实现服务模块化管理和ECS功能
- 将架构服务重构为模块化设计,引入ServiceModuleManager统一管理
- 新增EventBusModule、CommandExecutorModule、QueryExecutorModule等核心服务模块
- 实现ECS模块支持,可配置启用Entity Component System功能
- 在架构初始化过程中集成模块注册、初始化和销毁流程
- 更新架构属性配置,添加EnableEcs开关控制ECS功能启用
- 优化服务获取方式,从直接依赖改为通过容器动态获取
- 移除架构上下文中的ECS相关实现代码,统一由ECS模块管理
2026-02-23 13:53:29 +08:00
GeWuYou
07e2a80de5 refactor(ecs): 将EcsSystemBase中的EcsWorld类型改为接口
- 将EcsWorld属性的类型从具体类EcsWorld改为接口IEcsWorld
- 修改OnInit方法中的服务获取逻辑以使用接口类型
- 提高代码的抽象性和可扩展性
2026-02-23 12:27:16 +08:00
GeWuYou
89b7bcca8a feat(ecs): 为ECS相关功能添加实验性特性标记
- 在ArchitectureContext中的ECS相关方法添加[Experimental]特性
- 在ECS测试类上添加[Experimental]特性标记
- 为ECS基础测试方法添加实验性特性
- 统一使用System.Diagnostics.CodeAnalysis命名空间
- 标记GetEcsWorld、RegisterEcsSystem等核心方法为实验性API
2026-02-23 12:27:16 +08:00
GeWuYou
a65d4fa294 refactor(architecture): 重构架构生命周期相关接口命名
- 将 IArchitectureLifecycle 重命名为 IArchitectureLifecycleHook
- 将 IArchitecturePhaseAware 重命名为 IArchitecturePhaseListener
- 更新内部生命周期钩子集合类型为 IArchitectureLifecycleHook
- 更新 NotifyPhaseAwareObjects 方法中的类型引用
- 移除 IArchitectureModule 对生命周期接口的继承
- 更新 IModel 和 ISystem 接口中的相位感知类型引用
- 删除废弃的 AbstractModule 抽象类
2026-02-23 12:27:16 +08:00
GeWuYou
3db89ab498 refactor(architecture): 重构架构初始化和销毁机制
- 将Init方法统一重命名为Initialize方法以提高一致性
- 修改Architecture类中的组件注册逻辑,优化去重判断
- 更新ECS系统基础类以使用新的初始化接口
- 重构EcsWorld类使用属性自动实现而非私有字段
- 移除过时的EcsUsageExample示例文件
- 更新相关测试类以匹配新的初始化方法命名
- 改进代码注释和文档字符串格式
2026-02-23 12:27:16 +08:00
GeWuYou
daff1fa12b feat(architecture): 集成Arch ECS框架并升级目标框架
- 在ArchitectureContext中添加ECS世界和系统调度器支持
- 添加IEcsWorld和IEcsSystem接口定义
- 实现EcsWorld、EcsSystemBase和EcsSystemRunner核心类
- 添加Position和Velocity示例组件及MovementSystem示例
- 创建ECS使用示例代码
- 将多个项目的TargetFramework从netstandard2.0升级到netstandard2.1
- 添加Arch和Arch.System包依赖到核心项目
- 在测试项目中添加ECS相关接口的模拟实现
2026-02-23 12:27:16 +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
73d1fcf6fd refactor(core): 将 IDisposable 替换为 IDestroyable 接口
- 重命名 IDisposable 接口为 IDestroyable 并移动到 lifecycle 命名空间
- 更新 Architecture.cs 中的可销毁组件集合类型从 IDisposable 到 IDestroyable
- 修改 WaitForEvent 和 WaitForMultipleEvents 类实现 IDestroyable 接口
- 更新 AsyncContextAwareStateBase 和 ContextAwareStateBase 继承 IDestroyable 接口
- 修改 StateMachineSystem 中状态清理逻辑使用 IDestroyable 类型判断
- 更新 ILifecycle 接口继承关系使用新的 IDestroyable 接口
2026-02-17 18:41:16 +08:00
GeWuYou
8e88137399 feat(state): 支持异步状态退出功能
- 实现了 IAsyncState 接口的异步退出方法调用
- 添加了对异步状态和普通状态的区分处理
- 确保状态机系统兼容新旧状态类型
- 保持现有同步状态退出逻辑不变
2026-02-17 18:41:16 +08:00
GeWuYou
d76751c636 refactor(architecture): 移除查询和事件发布语法糖方法
- 删除 ArchitectureContext 中的 QueryAsync 和 PublishEventAsync 扩展方法
- 删除 ContextAwareExtensions 中对应的扩展方法实现
- 从 IArchitectureContext 接口中移除相关方法定义
- 更新测试代码中的参数命名从 command 到 query
- 移除相关的单元测试用例
- 修正 Godot 扩展中对 PublishEventAsync 的调用为 PublishAsync
2026-02-17 18:41:16 +08:00
GeWuYou
984829c368 refactor(coroutine): 移除命令等待事件协程扩展并改进测试
- 从 MediatorCoroutineExtensions 中移除 SendCommandAndWaitEventCoroutine 相关代码
- 从 CommandCoroutineExtensionsTests 中移除对应的测试方法
- 更新测试用例验证逻辑,统一使用静态方法调用方式
- 添加新的 MediatorCoroutineExtensionsTests 测试类
- 修改测试方法名称以更准确反映测试行为
- 统一异常处理和参数验证的测试覆盖
2026-02-16 22:44:52 +08:00
GeWuYou
855b3f9eac refactor(coroutine): 优化协程扩展中的异常处理和参数验证
- 修改了CommandCoroutineExtensions和MediatorCoroutineExtensions中的异常处理逻辑
- 添加了对负数超时参数的验证和异常抛出
- 改进了服务获取的空值检查机制
- 更新了文档注释以提供更清晰的参数说明
- 重构了SendCommandAndWaitEvent方法的实现结构
- 统一了错误消息格式和异常处理方式
2026-02-16 22:44:52 +08:00
GeWuYou
b196cd40bb feat(coroutine): 添加Mediator模式与协程集成的扩展方法
- 实现SendCommandCoroutine方法,支持以协程方式发送命令并处理异常
- 实现SendCommandAndWaitEventCoroutine方法,支持发送命令并等待特定事件
- 添加超时控制功能,支持设置等待事件的超时间
- 集成IEventBus和IMediator服务,提供完整的事件驱动协程支持
- 提供异常回调处理机制,增强错误处理能力
- 实现资源清理机制,确保WaitForEvent对象正确释放
2026-02-16 22:44:52 +08:00
GeWuYou
82cd2585d5 refactor(cqrs): 将基础类改为抽象类以增强架构设计
- 将 CommandBase 类标记为抽象类
- 将 NotificationBase 类标记为抽象类
- 将 QueryBase 类标记为抽象类
- 将 RequestBase 类标记为抽象类
- 保持所有泛型约束和接口继承关系不变
- 保留构造函数和输入数据属性的原有功能
2026-02-16 20:55:06 +08:00