194 Commits

Author SHA1 Message Date
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
GeWuYou
51ed593acb refactor(cqrs): 重构CQRS架构基础组件并新增核心基类
- 将命令相关抽象接口从command目录迁移至cqrs.command目录
- 新增CommandBase、NotificationBase、QueryBase和RequestBase通用基类
- 统一所有CQRS组件的命名空间为GFramework.Core.Abstractions.cqrs
- 更新所有引用位置的using语句指向新的命名空间路径
- 为命令和查询输入接口添加IInput基接口继承
- 在测试文件中同步更新相关的引用路径修改
2026-02-16 20:55:06 +08:00
GeWuYou
040a937159 refactor(coroutine): 优化Task转协程实现
- 将AsCoroutine方法重命名为ToCoroutineEnumerator以提高语义清晰度
- 修改StartTaskAsCoroutine方法内部调用改为使用新的ToCoroutineEnumerator方法
- 为ToCoroutineEnumerator方法添加完整的XML文档注释
- 为泛型版本的ToCoroutineEnumerator<T>方法添加类型参数和参数说明
- 统一方法命名规范,提高代码可读性
2026-02-15 23:26:15 +08:00
GeWuYou
396636e595 refactor(coroutine): 优化任务协程扩展实现
- 将私有方法 CreateTaskCoroutine 替换为公共扩展方法 AsCoroutine
- 简化 StartTaskAsCoroutine 方法实现,直接调用 AsCoroutine 扩展方法
- 移除重复的私有方法定义,统一使用扩展方法模式
- 提高代码可读性和复用性
2026-02-15 23:26:15 +08:00
GeWuYou
3a334e5666 refactor(state): 移除状态机中的同步方法实现
- 移除 IStateMachine 接口中 Unregister<T>() 方法的同步定义
- 移除 StateMachine 类中 Unregister<T>() 方法的同步实现
- 移除 IStateMachine 接口中 CanChangeTo<T>() 方法的同步定义
- 移除 StateMachine 类中 CanChangeTo<T>() 方法的同步实现
- 移除 IStateMachine 接口中 ChangeTo<T>() 方法的同步定义
- 移除 StateMachine 类中 ChangeTo<T>() 方法的同步实现
- 移除 IStateMachine 接口中 GoBack() 方法的同步定义
- 移除 StateMachine 类中 GoBack() 方法的同步实现
2026-02-15 22:59:44 +08:00
GeWuYou
6c53626df8 refactor(state): 将状态机实现为完全异步操作并改进线程安全机制
- 添加 SemaphoreSlim 锁确保状态转换的线程安全性
- 将所有同步方法重构为异步方法并移除旧的同步实现
- 使用异步锁替代传统的 lock 机制提升并发性能
- 优化状态历史记录的处理时机和逻辑
- 移除过时的同步状态转换内部方法
- 统一异常处理和资源释放机制
2026-02-15 22:59:44 +08:00
GeWuYou
487f55fef6 refactor(state): 重构异步状态基类实现架构上下文感知功能
- 更新类注释说明IAsyncState继承自IState接口
- 添加SetContext和GetContext方法用于架构上下文管理
- 实现Destroy方法用于状态销毁和资源释放
- 显式实现IState同步方法并标记为已弃用
- 使用Obsolete特性标注同步方法并提示使用异步版本
- 恢复IAsyncState异步方法的正常实现
- 添加上下文未设置时的操作异常处理
2026-02-15 21:00:38 +08:00
GeWuYou
22c1d08dc3 feat(state): 实现异步状态基类的同步方法限制
- 为 AsyncContextAwareStateBase 添加同步方法异常抛出机制
- 禁止在异步状态中使用 OnEnter、OnExit 和 CanTransitionTo 同步方法
- 提供清晰的错误提示引导使用对应的异步方法
- 修复 StateMachine 中的状态转换逻辑确保线程安全
- 更新 IAsyncState 接口继承 IState 接口统一状态管理
2026-02-15 21:00:38 +08:00
GeWuYou
38967d047a feat(core): 扩展ContextAwareExtensions功能并增强状态机系统
- 在ContextAwareExtensions中添加事件发送、注册和取消注册方法
- 添加环境对象获取功能
- 扩展命令和查询功能支持同步、异步及中介者模式
- 添加统一请求处理方法和便捷扩展方法
- 为StateMachineSystem添加异步状态切换事件通知功能
- 添加状态机异步操作相关单元测试
- 扩展现有测试类以覆盖新增功能
- [release ci]
2026-02-15 19:00:06 +08:00
GeWuYou
703328deb2 refactor(state): 优化状态机实现并增强上下文安全检查
- 在 ContextAwareStateBase 和 AsyncContextAwareStateBase 中添加架构上下文空值检查
- 引入 HashSet 用于快速检查状态注册状态,提升性能
- 重构注销逻辑,分离准备和完成阶段的处理
- 优化回退功能,跳过已注销的状态并使用 O(1) 复杂度检查
- 统一状态切换中的进入和退出逻辑处理
- 简化状态转换验证流程,提升代码可读性
- 添加辅助方法处理异步状态操作的统一入口
- [release ci]
2026-02-15 19:00:06 +08:00
GeWuYou
a5daadea96 feat(state): 添加状态机异步操作支持
- 实现了异步注销状态功能 UnregisterAsync
- 添加了异步状态切换检查 CanChangeToAsync
- 实现了异步状态切换功能 ChangeToAsync
- 添加了异步回退到上一状态 GoBackAsync
- 支持同步状态(IState)和异步状态(IAsyncState)的统一管理
- 提供了异步状态转换过程中的回调机制
- 完善了异步状态切换的核心逻辑处理
- [release ci]
2026-02-15 19:00:06 +08:00
GeWuYou
1f724103bd feat(state): 添加异步状态管理基础功能
- 新增 IAsyncState 接口定义异步状态行为和转换规则
- 实现 AsyncContextAwareStateBase 基类提供上下文感知异步状态功能
- 添加异步状态进入、退出和转换判断的核心方法
- 集成架构上下文访问能力支持状态管理
- 实现资源销毁和清理机制
2026-02-15 19:00:06 +08:00
GeWuYou
d0e7a9fb9b refactor(architecture): 重构架构上下文中的命令和查询方法
- 移除旧的 Mediator 扩展方法区域标记
- 重新组织命令发送方法,将异步和同步版本分离
- 更新 SendCommand 和 SendQuery 方法的实现逻辑
- 为查询操作添加新的同步和异步发送方法
- 调整命令执行器方法的参数类型和返回值
- 优化方法注释文档以提高可读性
2026-02-14 22:16:59 +08:00
GeWuYou
c16f89cb47 refactor(ioc): 将Services属性重命名为GetServicesUnsafe以提高安全性
- 将MicrosoftDiContainer中的Services属性重命名为GetServicesUnsafe
- 将IIocContainer接口中的Services属性重命名为GetServicesUnsafe
- 更新所有使用Services的地方为GetServicesUnsafe
- 保持原有的功能不变,仅修改属性名称以避免直接访问风险
2026-02-14 19:41:21 +08:00
GeWuYou
a420a41a55 refactor(ioc): 为依赖注入容器注册方法添加线程安全锁
- 在RegisterSingleton方法中添加读写锁保护
- 在RegisterFactory方法中添加读写锁保护
- 在ExecuteServicesHook方法中添加读写锁保护
- 确保在冻结状态下抛出异常
- 添加日志记录单例注册操作
- 统一异常处理和资源清理逻辑
2026-02-14 19:41:21 +08:00
GeWuYou
ae8ad29806 fix(architecture): 修复中介者行为注册方法
- 将 Container.RegisterPlurality<TBehavior>() 替换为 Container.RegisterMediatorBehavior<TBehavior>()
- 修正了中介者行为注册的 API 调用错误
2026-02-14 19:41:21 +08:00
GeWuYou
b2f2ab4fa5 perf(cqrs): 优化性能行为中的请求处理逻辑
- 将同步方法改为异步方法以正确处理异步操作
- 使用 Stopwatch.GetTimestamp() 替代 StartNew() 提高计时精度
- 通过 try-finally 确保即使在异常情况下也能正确计算执行时间
- 改进长时间运行请求的日志记录机制
- 使用 Elapsed.TotalMilliseconds 替代 ElapsedMilliseconds 并保留两位小数
- 保持 500 毫秒阈值不变,只对超时请求记录警告日志
2026-02-14 19:41:21 +08:00
GeWuYou
276f50a255 perf(cqrs): 优化LoggingBehavior性能并改进错误处理
- 添加Stopwatch用于精确测量请求处理时间
- 将Handle方法改为异步方法并正确await next调用
- 在成功和失败情况下都记录详细的耗时信息
- 添加对OperationCanceledException的特殊处理和日志记录
- 改进异常处理逻辑以包含执行时间信息
2026-02-14 19:41:21 +08:00
GeWuYou
e755c5c7f8 refactor(core): 替换Mediator集成实现为通用服务配置机制
- 移除专用的RegisterMediator方法,替换为ExecuteServicesHook通用服务配置方法
- 从架构配置中移除Mediator特定配置选项,改为通用服务配置委托
- 在架构基类中添加Configurator属性支持,允许子类提供自定义服务配置
- 更新测试代码适配新的服务配置方式,通过ExecuteServicesHook注册Mediator
- 移除过时的测试组件和相关验证逻辑
- 删除Mediator.SourceGenerator包引用,保留运行时依赖
- 添加WaitUntilReadyAsync方法的详细文档注释
2026-02-14 19:41:21 +08:00
GeWuYou
d3e1e04e89 feat(architecture): 添加Mediator模式支持并扩展架构上下文功能
- 在ArchitectureContext中新增Sender属性和SendCommand/SendQuery方法
- 实现异步命令和查询的发送功能,支持取消令牌
- 提供同步版本的命令和查询发送方法以保持向后兼容性
- 更新IArchitectureContext接口定义新增相关方法签名
- 添加完整的Mediator集成测试验证新功能
- 配置项目依赖移除旧的Mediator包并添加必要引用
- 修复测试中的类型引用和方法重载问题
2026-02-14 19:41:21 +08:00
GeWuYou
a082b770a9 feat(architecture): 集成 Mediator 模式支持
- 添加 Mediator 和 IPublisher 实例的延迟加载功能
- 实现 SendRequestAsync 方法用于发送 Command/Query 请求
- 添加 PublishAsync 方法用于发布通知事件
- 提供 CreateStream 方法支持流式数据处理
- 增加 SendAsync、QueryAsync、PublishEventAsync 等便捷扩展方法
- 更新 SendCommand 和 SendQuery 方法使用完整命名空间
- 在 IArchitectureContext 接口中添加 Mediator 相关方法定义
2026-02-14 19:41:21 +08:00
GeWuYou
9a783f3caa feat(cqrs): 添加流式命令、查询和请求处理器基类
- 新增 AbstractStreamCommandHandler 基类支持流式命令处理
- 新增 AbstractStreamQueryHandler 基类支持流式查询处理
- 新增 AbstractStreamRequestHandler 基类支持流式请求处理
- 所有基类继承 ContextAwareBase 并实现对应的流式处理器接口
- 提供统一的异步可枚举响应序列处理机制
- 支持取消令牌用于控制流式操作的执行过程
2026-02-14 19:41:21 +08:00
GeWuYou
a4c719773e feat(cqrs): 添加CQRS模式的抽象处理器基类
- 实现了抽象命令处理器基类,支持带返回值和无返回值两种类型
- 创建了抽象通知处理器基类,提供统一的通知处理功能
- 添加了抽象查询处理器基类,支持泛型查询和结果类型
- 实现了抽象请求处理器基类,处理有响应和无响应的请求场景
- 集成了ContextAwareBase基类以提供上下文感知功能
- 使用Mediator库接口实现标准化的CQRS处理模式
2026-02-14 19:41:21 +08:00
GeWuYou
91c9163312 feat(core): 集成Mediator框架并添加CQRS行为支持
- 移除直接的Mediator包依赖,改用Source Generator方式集成
- 添加RegisterMediator方法用于配置Mediator框架
- 添加RegisterMediatorBehavior方法用于注册管道行为
- 实现LoggingBehavior用于记录CQRS请求处理日志
- 实现PerformanceBehavior用于监控请求执行性能
- 更新架构配置以支持Mediator自定义配置
- 优化容器冻结检查的代码结构
2026-02-14 19:41:21 +08:00
GeWuYou
b7efe0cac4 feat(core): 集成 Mediator 框架并配置服务
- 添加 Mediator 框架依赖注入配置
- 设置 Mediator 命名空间为 GFramework.Core.Mediator
- 配置 Mediator 服务生命周期为单例模式
- 设置生成类型为内部访问权限
- 配置通知发布器类型为 ForeachAwaitPublisher
- 添加必要的 using 语句引入 Mediator 和常量模块
2026-02-14 19:41:21 +08:00
GeWuYou
ec07f6b2ef refactor(ioc): 重构MicrosoftDiContainer以支持未冻结状态下的服务获取
- 移除OnContextReady方法,将日志记录器初始化改为直接赋值
- 将日志记录器改为readonly字段并直接初始化
- 修改Get<T>()方法以支持未冻结状态下的实例获取逻辑
- 修改Get(Type)方法以支持未冻结状态下的类型实例获取
- 更新GetAll<T>()方法以支持未冻结状态下的批量服务获取
- 更新GetAll(Type)方法以支持未冻结状态下的批量类型服务获取
- 移除EnsureProvider私有方法,内联检查逻辑到各个获取方法中
2026-02-14 19:41:21 +08:00
GeWuYou
853bcf4315 feat(ioc): 添加类型注册工厂和多接口注册功能
- 为 Architecture 添加 RegisterSystem<T>、RegisterModel<T> 和 RegisterUtility<T> 泛型方法
- 支持通过 DI 容器自动创建实例并提供创建后回调钩子
- 在 MicrosoftDiContainer 中实现 RegisterPlurality<T> 方法
- 支持将单个实例注册到其实现的所有接口
- 更新 IIocContainer 接口定义以匹配新功能
- 为 RegisterFactory 方法添加 class 约束确保类型安全
2026-02-14 19:41:21 +08:00
GeWuYou
55ec42a670 feat(ioc): 替换自定义IoC容器为Microsoft.Extensions.DependencyInjection
- 移除原有的IocContainer实现
- 添加MicrosoftDiContainer作为Microsoft.Extensions.DependencyInjection的适配器
- 修改ArchitectureServices使用MicrosoftDiContainer替代IocContainer
- 更新所有相关测试类使用MicrosoftDiContainer
- 添加Mediator和Microsoft.Extensions.DependencyInjection包引用
- 扩展IIocContainer接口支持更多注册方法
- 在架构初始化中添加Mediator服务注册
2026-02-14 19:41:21 +08:00
GeWuYou
68d292dc64 feat(ioc): 添加基于Type的依赖注入方法
- 实现Get(Type type)方法以获取指定类型的单个实例
- 实现GetRequired(Type type)方法以获取指定类型的必需实例
- 实现GetAll(Type type)方法以获取指定类型的所有实例
- 在抽象层添加对应的接口定义
- 为新方法添加完整的XML文档注释
- 添加全局using System.Runtime指令
2026-02-14 19:41:21 +08:00
GeWuYou
9427cc9dbf docs(architecture): 更新架构服务接口文档注释
- 将异步查询总线实例注释更正为异步查询执行器实例
- 为命令执行器添加返回值类型说明
- 为查询执行器添加返回值类型说明
- 为异步查询执行器添加返回值类型说明
- 移除多余空行并优化代码格式
2026-02-14 19:41:21 +08:00
GeWuYou
d1cdac8082 docs: 更新文档链接和代码块格式
- 修复了文档中多个文件的链接指向,统一使用相对路径格式
- 移除了代码块中的语言标识符以保持一致性
- 更新了存储模块文档中的类名显示方式
- 修正了架构文档中的跨文档引用链接
- 调整了事件、命令、查询等核心模块的文档链接结构
- 规范化了所有代码示例的格式和引用方式
2026-02-11 14:44:46 +08:00
GeWuYou
6b48c92710 docs: 删除多个核心模块的文档文件
- 移除 architecture 模块的 README 文档
- 移除 command 模块的 README 文档
- 移除 environment 模块的 README 文档
- 移除 events 模块的 README 文档
- 清理框架核心组件的使用说明文档
2026-02-11 12:52:14 +08:00
GeWuYou
026d9964fe docs(game): 更新游戏模块文档并优化整体结构
- 重写了 GFramework.Game 模块的完整文档
- 添加了详细的目录结构和使用示例
- 扩展了架构模块系统的说明和代码示例
- 增加了资产管理、存储系统和序列化系统的详细文档
- 提供了模块配置和高级用法的指导
- 完善了存储系统的分层存储和缓存实现
- 添加了序列化系统的自定义转换器示例
- 更新了核心特性和设计理念的描述
- 优化了文档的整体组织结构和可读性
- 刷新了 VitePress 依赖缓存以同步文档变更
2026-02-11 12:52:14 +08:00
GeWuYou
42a1ab0f29 fix(coroutine): 修复 WaitForMultipleEvents 的事件处理逻辑
- 添加了完成状态检查,避免在已完成或释放后继续处理事件
- 立即注销事件监听器以防止内存泄漏
- 在事件触发后清理注册器引用
- 添加了完整的单元测试覆盖各种事件场景
2026-02-10 23:47:40 +08:00
GeWuYou
4748198696 feat(coroutine): 添加多种协程等待指令及对应单元测试
- 实现 WaitForConditionChange 指令,支持等待条件状态变化
- 实现 WaitForEndOfFrame 指令,支持等待当前帧渲染完成
- 实现 WaitForFixedUpdate 指令,支持等待物理固定更新周期
- 实现 WaitForMultipleEvents 指令,支持等待多个事件中的任意一个触发
- 实现 WaitForNextFrame 指令,支持等待下一帧开始
- 实现 WaitForPredicate 指令,支持通用谓词等待功能
- 实现 WaitForSecondsRealtime 指令,支持基于真实时间的等待
- 实现 WaitForSecondsScaled 指令,支持受时间缩放影响的等待
- 实现 WaitUntilOrTimeout 指令,支持带超时的条件等待
- 为所有新指令添加完整的单元测试覆盖
2026-02-10 23:47:40 +08:00
GeWuYou
6cc2bdfeb5 refactor(coroutine): 优化异步操作延续处理逻辑
- 使用while循环替代递归调用避免栈溢出风险
- 改进CAS操作的重试机制提高并发安全性
- 简化空值检查逻辑提升代码可读性
- 优化双重检查锁模式确保线程安全
2026-02-09 19:16:22 +08:00
GeWuYou
058c27ce26 docs(core): 完善核心框架文档注释
- 为 AbstractContextUtility 类添加日志记录器文档注释
- 为 Architecture 类的 IsReady 属性和待初始化组件集合添加详细说明
- 修改 GitHub Actions workflow 使用 autobuild 模式替代手动构建
- 为 CoroutineScheduler 的 IsCoroutineAlive 方法添加完整文档注释
- 为 EnvironmentBase 类的 Initialize 方法和 Register 方法完善参数说明
- 为 IocContainer 的 OnContextReady 方法添加初始化日志记录器说明
- 为 WaitForEvent 协程指令类添加全面的 XML 文档注释和异常说明
2026-02-09 11:37:44 +08:00
GeWuYou
c8be4b317d refactor(core): 将命令和查询总线重构为执行器模式
- 将 CommandBus 重命名为 CommandExecutor 并更新相关接口
- 将 QueryBus 重命名为 QueryExecutor 并更新相关接口
- 将 AsyncQueryBus 重命名为 AsyncQueryExecutor 并更新相关接口
- 更新 ArchitectureContext 中的服务引用和错误消息
- 修改 ArchitectureServices 中的私有字段和公共属性名称
- 更新所有测试文件中的实例变量和服务引用
- 修改测试类名称以匹配新的执行器命名
- 更新状态机系统测试中的容器注册项
2026-02-05 12:46:44 +08:00
GeWuYou
ed09ab7009 refactor(property): 优化可绑定属性和事件系统实现
- 为BindableProperty添加属性值变化事件回调委托的XML文档注释
- 为BindableProperty添加存储属性实际值的受保护字段的XML文档注释
- 统一Event类中泛型参数命名规范,将TK改为Tk以保持一致性
- 更新Event类中所有相关方法和字段的泛型参数类型引用
- 修正Event类中Trigger方法的参数类型声明
2026-02-04 09:06:43 +08:00
GeWuYou
8f388d4a9e docs(ci): 添加文档生成配置和自动化发布流程
- 新增 docfx.json 配置文件用于 API 文档生成
- 在所有项目文件中启用 GenerateDocumentationFile 选项
- 添加 GitHub Actions 工作流 publish-docs.yml 实现文档自动发布
- 配置工作流触发条件支持标签推送和特定提交信息
- 设置文档构建环境使用 .NET 10.0 和 DocFX 工具
- 实现文档站点部署到 GitHub Pages 的完整流程
- [release doc]
2026-02-03 08:15:59 +08:00
GeWuYou
3ad4913f9e refactor(architecture): 优化架构上下文的构造函数和服务获取逻辑
- 使用主构造函数简化 ArchitectureContext 的初始化
- 移除私有字段赋值的冗余代码
- 添加 GetOrCache 方法的详细注释说明
- 为关键业务逻辑添加中文注释
- 保持服务缓存和服务获取的核心功能不变
2026-02-02 21:59:31 +08:00
GeWuYou
7242f58029 refactor(coroutine): 重构 WaitForAllCoroutines 实现
- 修改 WaitForAllCoroutines 构造函数,添加 CoroutineScheduler 参数
- 移除 WaitForAllCoroutines 内部的待处理句柄集合和完成状态管理
- 修改 WaitForAllCoroutines 的 IsDone 属性实现,改为通过调度器检查协程状态
- 移除 WaitForAllCoroutines 的 NotifyCoroutineComplete 方法
- 更新 CoroutineScheduler 中对 WaitForAllCoroutines 的处理逻辑
- 移除调度器中的协程完成通知相关代码
- 更新所有相关测试用例以适应新的构造函数参数
- 添加对 scheduler 参数的空值验证测试
- [release ci]
2026-02-01 16:53:26 +08:00
GeWuYou
ae37b8c5f1 refactor(coroutine): 重构协程等待机制并移除Held状态
- 移除了CoroutineState中的Held状态
- WaitForAllCoroutines不再依赖CoroutineScheduler参数
- 使用HashSet替代IReadOnlyList存储待处理协程句柄
- 添加NotifyCoroutineComplete方法通知协程完成
- 修改HandleYieldInstruction方法使用switch表达式处理不同等待指令
- 移除WaitForCoroutine逻辑中对Held状态的设置
- 添加对WaitForAllCoroutines的完成通知支持
2026-02-01 15:27:49 +08:00
GeWuYou
b4360b01ca refactor(coroutine): 优化 WaitForAllCoroutines 实现逻辑
- 将字段初始化改为构造函数中赋值
- 添加 _isDone 字段缓存完成状态
- 在构造函数中预处理空列表情况
- 优化 Update 方法减少重复计算
- 简化 IsDone 属性实现
- 提升协程等待性能
2026-02-01 15:16:15 +08:00
GeWuYou
120fd14cd8 refactor(coroutine): 重构协程调度器以支持WaitForCoroutine指令
- 将WaitForCoroutine改为构造函数注入协程枚举器的方式
- 添加ProcessWaitingInstruction方法专门处理等待指令
- 添加IsWaiting方法判断协程等待状态
- 添加ProcessCoroutineStep方法处理协程步骤推进
- 添加HandleYieldInstruction方法处理yield指令逻辑
- 实现WaitForCoroutine指令的完整协程等待功能
- 在协程完成时通知WaitForCoroutine指令标记完成状态
- 优化协程调度器的执行流程和异常处理机制
2026-02-01 15:11:51 +08:00
GeWuYou
af583c101c refactor(core): 重构协程扩展和函数式编程相关代码
- 优化 CommandCoroutineExtensions 中的代码格式和异常处理逻辑
- 简化 WaitForEvent 和 WaitForEventWithTimeout 中的EventData属性实现
- 调整 EventListenerScope 中的EventData属性访问器
- 重构 ControlExtensions 中 TakeIf 和 TakeUnless 方法的实现
- 优化 FunctionExtensions 中 Repeat 和 Partial 方法的代码结构
- 调整 PipeExtensions 和其他扩展类的文档注释格式
- 修改测试代码中的协程迭代和事件注册相关实现
- 优化 DataRepository 中的异步操作实现方式
= [release ci]
2026-02-01 14:07:59 +08:00