5 Commits

Author SHA1 Message Date
GeWuYou
bf517a4f7f refactor(coroutine): 优化协程调度器实现
- 在 CoroutineSlot 中添加 Handle 属性用于标识协程实例
- 使用集合初始化语法替换 HashSet 创建方式
- 简化协程执行状态检查逻辑
- 优化 KillAllByTag 方法中的计数逻辑
- 改进协程清理过程中的句柄验证和等待者唤醒机制
2026-01-23 12:42:06 +08:00
GeWuYou
ddbf7af572 feat(coroutine): 添加完整的协程系统实现
- 实现了协程调度器和句柄管理机制
- 添加了多种等待指令包括延时、帧数、条件等待等
- 创建了协程辅助方法和扩展功能
- 集成了Godot引擎的时间源和生命周期管理
- 实现了协程的暂停、恢复、终止等控制功能
- 添加了协程标签管理和按标签批量操作功能
- 提供了与Godot节点生命周期绑定的取消机制
2026-01-21 20:34:10 +08:00
GeWuYou
16a72e85af refactor(coroutine): 移除协程相关抽象接口
移除了以下协程相关的接口定义:
- ICoroutineContext: 协程上下文接口
- ICoroutineHandle: 协程句柄接口
- ICoroutineScheduler: 协程调度器接口
- ICoroutineScope: 协程作用域接口
- ICoroutineSystem: 协程系统接口
- IYieldInstruction: 等待指令接口
- [skip ci]
2026-01-21 16:02:27 +08:00
GeWuYou
3e26c84bb1 feat(coroutine): 优化协程执行机制,修复嵌套协程和yield null处理问题
- 修改CoroutineHandle中的协程执行逻辑,实现每帧只推进一步的机制,
避免单帧内过度执行导致的性能问题
- 修复yield null处理逻辑,正确处理等待一帧后继续执行的情况
- 改进嵌套协程处理,确保子协程完成后正确返回到父协程
- 优化WaitUntil条件检查逻辑,确保状态转换正确性
- 在定时任务扩展中添加yield break确保协程正确结束
- 调整协程调度器的更新顺序,先添加新协程再执行更新
2026-01-21 14:19:15 +08:00
GeWuYou
f24ec656e6 refactor(coroutine): 将协程相关接口从Game模块迁移到Core模块
- 重命名命名空间从GFramework.Game.Abstractions.coroutine到GFramework.Core.Abstractions.coroutine
- 更新ICoroutineContext.cs、ICoroutineHandle.cs、ICoroutineScheduler.cs、
  ICoroutineScope.cs、ICoroutineSystem.cs、IYieldInstruction.cs的命名空间
- 更新测试覆盖率计划文档,添加协程模块测试计划
- 新增协程模块测试计划,包含15个源文件,计划91个测试用例
- 添加CoroutineHandleTests.cs等7个协程相关测试文件的计划
2026-01-21 09:21:08 +08:00