GeWuYou
|
9b77aa4b07
|
fix(workflow): 修复自动标签工作流中的重复标签问题
- 添加了对现有标签的检查以避免重复创建
- 配置了从正确的提交哈希进行检出
- 在推送标签前验证标签是否已存在
- 添加了标签已存在时的优雅退出机制
- 确保了 Git 配置的一致性设置
|
2026-01-29 12:23:07 +08:00 |
|
GeWuYou
|
ef655bbaf1
|
refactor(workflow): 重构自动标签工作流并添加CI构建测试
- 将自动标签触发方式从直接push改为基于CI工作流完成状态
- 新增独立的CI构建测试工作流配置文件
- 简化自动标签逻辑,移除跳过关键字检查和版本解析冗余代码
- 优化Git标签创建和推送流程,统一配置用户名邮箱
- 集成.NET项目构建测试流程,包含依赖恢复、编译和单元测试
- 更新工作流权限配置和并发控制设置
|
2026-01-29 12:14:38 +08:00 |
|
GeWuYou
|
2f443087a4
|
ci(workflow): 添加 CodeQL 静态代码分析工作流
- 配置 GitHub Actions 工作流用于 C# 项目安全漏洞分析
- 设置在 main 分支推送和拉取请求时触发扫描
- 添加每周二凌晨 4 点 41 分的定时安全扫描
- 配置 .NET 8.0.x、9.0.x 和 10.0.x 版本环境支持
- 初始化 CodeQL 分析环境并启用 C# 语言支持
- 设置自动构建模式并执行静态代码分析
- 配置安全事件写入权限以生成分析报告
|
2026-01-29 12:05:40 +08:00 |
|
GeWuYou
|
57fdb1c3d4
|
chore(.github): 添加dependabot配置文件
- 新增dependabot.yml配置文件用于自动化依赖更新管理,
提升项目维护效率和安全性。
- [skip ci]
|
2026-01-29 10:20:05 +08:00 |
|
GeWuYou
|
2896f35c67
|
feat(setting): 更新设置系统支持数据持久化和泛型仓库
- 添加 IDataRepository 依赖注入支持泛型仓库
- 实现 SaveAll 方法用于保存所有设置数据到存储库
- 为 ApplyAll 和 Apply<T> 方法添加返回值类型注释
- 添加 SettingsApplyingEvent 事件发送功能
- 优化代码结构使用泛型约束和空合并运算符
- 添加 Repository 属性确保仓库实例不为空
v0.0.141
|
2026-01-28 23:01:46 +08:00 |
|
GeWuYou
|
58291fd85c
|
feat(setting): 添加设置迁移器注册和异步初始化功能
- 新增 RegisterMigration 方法用于注册设置迁移器
- 新增 InitializeAsync 方法支持异步初始化指定类型的设置
- 扩展了 ISettingsModel 接口以支持设置迁移功能
- 添加了对设置类型数组的批量异步初始化支持
v0.0.140
|
2026-01-28 22:36:33 +08:00 |
|
GeWuYou
|
d8188a894a
|
chore(deps): 更新 Meziantou.Polyfill 依赖版本
- 将 GFramework.Core.Abstractions 中的 Meziantou.Polyfill 版本从 1.0.100 更新到 1.0.101
- 将 GFramework.Game.Abstractions 中的 Meziantou.Polyfill 版本从 1.0.100 更新到 1.0.101
- 将 GFramework.Godot.SourceGenerators.Abstractions 中的 Meziantou.Polyfill 版本从 1.0.100 更新到 1.0.101
- 将 GFramework.SourceGenerators.Abstractions 中的 Meziantou.Polyfill 版本从 1.0.100 更新到 1.0.101
- 将 GFramework.SourceGenerators.Common 中的 Meziantou.Polyfill 版本从 1.0.100 更新到 1.0.101
|
2026-01-28 22:08:57 +08:00 |
|
GeWuYou
|
76a8b140f1
|
refactor(setting): 将设置持久化功能整合到数据仓库中
- 移除独立的SettingsPersistence类,将其功能合并到DataRepository
- 在DataRepository中新增基于Type参数的异步加载方法
- 修改SettingsModel以使用IDataRepository替代ISettingsPersistence
- 更新SettingsModel为泛型类并注入数据仓库依赖
- 将ISettingsSection接口继承IData接口
- 删除ISettingsPersistence接口定义
v0.0.139
|
2026-01-28 20:36:24 +08:00 |
|
GeWuYou
|
0b7c64fd99
|
feat(data): 添加数据仓库功能并重构设置系统接口
- 新增 DataRepository 类实现数据存储和读取功能
- 添加数据仓库配置选项类 DataRepositoryOptions
- 定义 IData 接口作为通用数据标记接口
- 实现数据加载、保存、删除等异步操作方法
- 添加数据事件系统包括加载、保存、删除等事件类型
- 将 ISettingsData 接口重命名为 IResettable 并更新相关实现
- 更新 SettingsModel 和 SettingsPersistence 使用新的接口
- 修改 SettingsBatchChangedEvent 和 SettingsBatchSavedEvent 使用 IResettable 类型
- 重构 AudioSettings、GraphicsSettings、LocalizationSettings 继承新接口
- 更新 IPersistentApplyAbleSettings 接口依赖为 IResettable
|
2026-01-28 20:08:34 +08:00 |
|
GeWuYou
|
c918085ba9
|
refactor(setting): 移除 SettingsModel 的 IDisposable 接口实现
- 从 SettingsModel 类定义中移除 IDisposable 接口
- 删除 Dispose 方法及其相关实现逻辑
- 移除 _disposed 标记字段和相关的资源清理代码
- 简化类结构,不再需要手动管理资源释放
- 依赖垃圾回收器自动处理内存管理
v0.0.138
|
2026-01-28 12:47:08 +08:00 |
|
GeWuYou
|
d250ee1d93
|
feat(globalusings): 为旧版.NET框架添加IsExternalInit兼容性支持
- 在GlobalUsings.cs中添加条件编译指令支持NETSTANDARD2_0、NETFRAMEWORK和NETCOREAPP2_0
- 添加System.ComponentModel命名空间引用
- 实现IsExternalInit静态类以支持仅初始化setter语法
- 使用EditorBrowsable特性标记为隐藏状态避免IDE显示
- 确保新功能仅在目标框架版本下可用
v0.0.137
|
2026-01-27 23:03:35 +08:00 |
|
GeWuYou
|
31045f305c
|
refactor(core): 调整命名空间结构以优化模块组织
- 将 IRegistry 接口从 GFramework.Game.Abstractions.registry 移至 GFramework.Core.Abstractions.registries
- 移除 KeyValueRegistryBase 中对旧命名空间的引用
- 将 IsExternalInit 类从 System.Runtime.CompilerServices 移至 GFramework.Game.Abstractions.internals
- 更新 IGameSceneRegistry 对新注册表命名空间的引用
- 将音频和图形设置类移至 GFramework.Game.Abstractions.setting.data 子命名空间
- 将资产注册表接口更新为使用新的核心注册表命名空间
- 调整 Godot 模块中的音频总线映射命名空间至 data 子目录
- 更新 Godot 音频和图形设置类以引用正确的设置数据命名空间
|
2026-01-27 22:58:37 +08:00 |
|
GeWuYou
|
9531cd0883
|
refactor(setting): 重构设置模块结构并添加版本控制功能
- 将AudioSettings和GraphicsSettings移至data子目录
- 为AudioSettings和GraphicsSettings实现IVersioned接口
- 新增LocalizationSettings类管理本地化配置
- 重命名AudioBusMapSettings为AudioBusMap并移至data目录
- 新增LocalizationMap类定义语言映射关系
- 更新GodotAudioSettings依赖注入参数名称
- 修复GodotAudioSettings重置方法逻辑
- 新增GodotLocalizationSettings类应用本地化配置到Godot引擎
- 添加必要的using语句和版权注释
|
2026-01-27 22:57:03 +08:00 |
|
GeWuYou
|
4cfc5d3505
|
refactor(storage): 将文件存储读取操作改为异步模式
- 使用 await using 替代 using 确保异步资源正确释放
- 优化文件读取流程以支持异步IO操作
- 提高文件存储组件的异步处理能力
|
2026-01-27 22:39:26 +08:00 |
|
GeWuYou
|
a29a484834
|
refactor(setting): 优化设置模型的并发安全性和性能
- 将字典集合替换为ConcurrentDictionary以提高并发安全性
- 添加方法缓存机制减少反射调用开销
- 实现迁移缓存避免重复查询操作
- 增加异步加载异常处理和日志记录
- 实现IDisposable接口添加资源清理功能
- 优化GetOrAdd方法简化数据获取逻辑
|
2026-01-27 22:38:49 +08:00 |
|
GeWuYou
|
11c94d462f
|
feat(setting): 添加设置数据版本迁移功能
- 新增 IVersioned 接口用于定义版本信息
- 实现设置数据自动迁移机制,支持版本升级转换
- 添加 SettingsMigration 接口用于处理不同版本间的数据转换
- 在 SettingsModel 中集成迁移功能,加载时自动执行版本迁移
- 优化设置数据管理,新增 AllData 方法获取所有设置数据
- 重构代码结构,添加清晰的方法分组注释块
|
2026-01-27 22:22:20 +08:00 |
|
GeWuYou
|
07f5d27ab3
|
refactor(setting): 重构设置系统的接口设计
- 移除 SettingsModel 中的 All() 方法,避免同时实现两个接口的设置被重复返回
- 添加 AllApplicators() 方法用于获取所有可应用设置
- 添加 AllData() 方法用于获取所有设置数据
- 修改 SettingsSystem.ApplyAll() 方法,直接遍历可应用设置而非设置节
- 更新 ISettingsModel 接口定义,将 All() 方法拆分为 AllData() 和 AllApplicators()
- 移除 SettingsSystem 中的 Apply(Type) 和 Apply(IEnumerable<Type>) 重载方法
- 更新 Apply<T>() 泛型约束从 ISettingsSection 改为 IApplyAbleSettings
- 移除注册时对 ISettingsData 的自动注册逻辑,保持职责分离
|
2026-01-27 22:11:01 +08:00 |
|
GeWuYou
|
19c0830a7d
|
feat(serializer): 添加运行时类型序列化器接口并重构序列化模块
- 新增 IRuntimeTypeSerializer 接口支持运行时类型序列化
- 将序列化器接口从 Game 模块迁移到 Core 模块
- 更新 JsonSerializer 的命名空间引用
- 为 Godot 音频和图形设置类添加持久化应用接口实现
- 重构设置模型的初始化和去重逻辑
- 移除批量加载所有设置的功能
- 优化设置应用过程为异步执行
- 在存储接口中添加异步删除方法
- 为各种存储实现添加异步删除功能
- 为 Godot 文件存储添加标准文件系统路径删除支持
- 删除废弃的设置数据基类实现
|
2026-01-27 21:58:30 +08:00 |
|
GeWuYou
|
b49079de3e
|
style(coding-style): 统一代码风格并优化文档格式
- 移除多余using语句和空行,统一代码缩进格式
- 优化注释文档中的缩进和对齐格式
- 简化条件语句和方法实现,提升代码可读性
- 重构协程系统相关类的字段和方法定义格式
- 更新架构服务中容器访问方式的实现
- 调整异步操作类的属性和方法组织结构
- [skip ci]
|
2026-01-27 20:30:04 +08:00 |
|
GeWuYou
|
a71c7f6f1a
|
docs(architecture): 为IArchitecture接口添加文档注释
- 为RegisterSystem方法添加返回值文档注释
- 为RegisterModel方法添加返回值文档注释
- 为RegisterUtility方法添加返回值文档注释
- 为IArchitecture接口添加WaitUntilReadyAsync方法
- 为新添加的方法添加完整的XML文档注释
v0.0.136
|
2026-01-27 19:59:02 +08:00 |
|
GeWuYou
|
50e334b006
|
chore(deps): 更新项目依赖包版本
- 将 Meziantou.Analyzer 从 2.0.283 更新到 2.0.286
- 将 Godot 相关包从 4.5.1 更新到 4.6.0
- 统一所有项目中的代码分析器版本
- 保持依赖包版本一致性
v0.0.135
|
2026-01-27 19:03:20 +08:00 |
|
GeWuYou
|
cfb55972b1
|
test(coroutine): 更新 WaitForTask 测试以使用 TaskCompletionSource
- 将测试中的 Task.Run 替换为 TaskCompletionSource
- 确保测试初始状态检查的准确性
- 改进测试的可靠性和可预测性
v0.0.134
|
2026-01-27 13:13:42 +08:00 |
|
GeWuYou
|
df7ad24b48
|
test(coroutine): 更新协程句柄和任务扩展测试
- 修改CoroutineHandleTests中的Equals比较测试,使用不同的实例ID进行验证
- 在Equals测试中添加Key值的不同性验证
- 更新AsCoroutineInstruction测试文档,验证已完成任务的状态
- 移除重复的泛型版本测试方法
- 在TaskCoroutineExtensionsTests中移除未使用的句柄变量赋值
- 简化任务协程启动的测试逻辑,专注于调度器行为验证
|
2026-01-27 13:03:47 +08:00 |
|
GeWuYou
|
684d4601d0
|
test(coroutine): 为 WaitWhile 添加断言以验证谓词函数行为
- 修改测试逻辑以跟踪谓词函数的调用次数
- 添加对 IsDone 属性访问时谓词评估的验证
- 增加对条件变化时谓词重新评估的检查
- 添加相应的断言确保谓词按预期工作
|
2026-01-27 12:57:17 +08:00 |
|
GeWuYou
|
bb95f738a8
|
chore(project): 禁用隐式using并添加全局using文件
- 在所有项目中禁用 ImplicitUsings 配置
- 为所有项目添加 GlobalUsings.cs 文件统一管理常用命名空间
- 统一添加 System、System.Collections.Generic、System.Linq、System.Threading 和 System.Threading.Tasks 的全局引用
- 更新项目文件中的 PackageReference 格式规范化
- 移除各个源文件顶部的重复 using 语句
- 添加标准版权头注释到全局引用文件
|
2026-01-27 12:45:03 +08:00 |
|
GeWuYou
|
87e11449f1
|
refactor(core): 移除隐式using并统一全局using配置
- 在多个核心类文件中移除System命名空间的重复using声明
- 创建GlobalUsings.cs文件集中管理公共命名空间引用
- 将System、System.Collections.Generic、System.Linq、System.Threading.Tasks设为全局using
- 禁用项目级别的隐式using功能以提高代码可读性
- 优化项目配置中的包引用格式添加必要的空格
|
2026-01-27 12:35:44 +08:00 |
|
GeWuYou
|
21c5d1bc68
|
refactor(command): 重构命令和查询抽象基类以支持输入参数分离
- 将 AbstractAsyncCommand 拆分为 AbstractAsyncCommand 和 AbstractAsyncCommandWithInput
- 将 AbstractAsyncCommand<TInput, TResult> 移至新的 AbstractAsyncCommandWithResult 类
- 将 AbstractCommand 拆分为 AbstractCommand 和 AbstractCommandWithInput
- 将 AbstractCommand<TInput, TResult> 移至新的 AbstractCommandWithResult 类
- 将 AbstractAsyncQuery 简化为不带输入参数的版本
- 将 AbstractQuery 简化为不带输入参数的版本
- 创建新的 AbstractAsyncQueryWithResult 类处理带输入参数的异步查询
- 创建新的 AbstractQueryWithResult 类处理带输入参数的同步查询
v0.0.133
|
2026-01-26 13:03:50 +08:00 |
|
GeWuYou
|
7e5036ae76
|
test(coroutine): 添加协程扩展方法和等待所有协程的单元测试
- 添加 CoroutineExtensionsTests 测试类,覆盖 RepeatEvery、ExecuteAfter、Sequence、ParallelCoroutines 和 WaitForSecondsWithProgress 方法
- 添加 WaitForAllCoroutinesTests 测试类,验证 WaitForAllCoroutines 的初始化、IsDone 属性、空句柄处理等功能
- 实现协程调度器集成测试,验证多协程并发执行场景
- 添加边界条件测试,包括空数组、null 参数、负数参数等情况
- 实现异常处理和特殊状态测试,如暂停恢复、终止协程等场景
v0.0.132
|
2026-01-26 11:45:13 +08:00 |
|
GeWuYou
|
01d9fefa1d
|
feat(coroutine): 扩展协程功能并重构指令结构
- 将协程等待指令移动到instructions命名空间下
- 添加WaitForProgress指令支持带进度回调的时间等待
- 添加WaitForAllCoroutines指令用于等待多个协程完成
- 添加AsyncOperation类用于桥接协程与async/await模型
- 添加协程扩展方法包括RepeatEvery、ExecuteAfter、Sequence等功能
- 添加Task与协程的转换扩展方法AsCoroutineInstruction
- 添加协程调度器的ParallelCoroutines扩展方法
- 添加IsCoroutineAlive方法检查协程状态
- 更新相关测试文件以匹配新的命名空间结构
|
2026-01-26 09:44:07 +08:00 |
|
GeWuYou
|
27bc481577
|
feat(Architecture): 添加架构就绪状态等待功能
- 新增 `_readyTcs` 字段用于跟踪架构初始化状态
- 添加 `IsReady` 属性检查当前架构是否已就绪
- 在架构进入 Ready 阶段时释放 Ready await
- 实现 `WaitUntilReadyAsync()` 方法支持异步等待架构初始化完成
- [skip ci]
|
2026-01-24 15:42:32 +08:00 |
|
GeWuYou
|
9808367aa5
|
refactor(architecture): 移除事件相关依赖并优化命名空间引用
- 从 Architecture.cs 中移除了 GFramework.Core.Abstractions.events 和 GFramework.Core.events 的引用
- 在 EasyEventGeneric.cs 中添加了 System 命名空间引用
- 在 GameContext.cs 中添加了 System、System.Collections.Generic 和 System.Linq 引用
- 在 ObjectExtensions.cs 中添加了 System 命名空间引用
- 整理了架构层的依赖关系,移除了不必要的事件模块引用
- 优化了各文件的 using 语句顺序和结构
- [skip ci]
|
2026-01-24 09:17:32 +08:00 |
|
GeWuYou
|
2d15184afe
|
refactor(architecture): 移除架构生命周期事件发送功能
- 从 Architecture.cs 中移除所有 EventBus.Send 事件发送调用
- 删除 ArchitectureEvents.cs 文件及其相关事件定义
- 移除架构销毁开始、销毁完成和初始化失败事件的发送逻辑
- 更新测试代码移除对已删除事件的依赖
v0.0.131
|
2026-01-24 09:15:31 +08:00 |
|
GeWuYou
|
7314bf03d0
|
feat(coroutine): 添加基于条件和取消令牌的重复调用功能
- 新增RepeatCallForever方法支持条件函数参数
- 添加CancellationToken参数支持取消令牌控制
- 重构原有RepeatCallForever方法保持向后兼容
- 添加详细的XML文档注释说明参数和返回值
- 实现基于条件判断的循环执行逻辑
- 实现基于取消令牌的循环执行控制
v0.0.130
|
2026-01-23 12:50:59 +08:00 |
|
GeWuYou
|
bf517a4f7f
|
refactor(coroutine): 优化协程调度器实现
- 在 CoroutineSlot 中添加 Handle 属性用于标识协程实例
- 使用集合初始化语法替换 HashSet 创建方式
- 简化协程执行状态检查逻辑
- 优化 KillAllByTag 方法中的计数逻辑
- 改进协程清理过程中的句柄验证和等待者唤醒机制
|
2026-01-23 12:42:06 +08:00 |
|
GeWuYou
|
a79f02c987
|
docs(api): 添加 Core API 参考文档与事件系统接口文档
- 新增 Core API 参考文档,涵盖架构与模块、数据模型与系统、命令与查询等核心组件
- 添加事件系统接口详细文档,包括 IEvent、IEventBus、IUnRegister 等接口说明
- 提供完整的 API 使用示例路径、最佳实践与性能建议
- 包含架构图、依赖关系图与故障排查指南
- 添加测试用例参考与扩展方法说明
- [skip ci]
|
2026-01-21 23:45:10 +08:00 |
|
GeWuYou
|
1513460ac7
|
refactor(coroutine): 优化协程调度器测试代码结构
- 修改Run方法测试用例以使用CreateYieldingCoroutine创建协程
- 移除Coroutines_Should_Complete_At_Different_Stages测试方法
- 在CreateYieldingCoroutine方法末尾添加yield break语句
- 在CreateImmediateCoroutine方法中添加WaitUntil指令并返回
- 修改CreateCountingCoroutine方法实现逻辑,替换无限循环为有限帧执行
- 移除Delay_Should_Accumulate_Time_Across_Multiple_Updates测试方法
v0.0.129
|
2026-01-21 22:02:02 +08:00 |
|
GeWuYou
|
faf860cc57
|
docs(tests): 添加测试覆盖计划文档和协程系统单元测试
- 新增 TEST_COVERAGE_PLAN.md 测试覆盖详细清单,包含总体统计和详细补全计划
- 添加 CoroutineHandleTests.cs 协程句柄单元测试,覆盖15个测试用例
- 添加 CoroutineHelperTests.cs 协程辅助方法单元测试,覆盖19个测试用例
- 添加 CoroutineSchedulerTests.cs 协程调度器单元测试,覆盖25个测试用例
- 完善协程系统测试覆盖至100%,提升整体文件覆盖率从79.2%至83.1%
- 建立协程系统测试执行计划和进度跟踪机制
|
2026-01-21 21:42:54 +08:00 |
|
GeWuYou
|
9194ef9445
|
docs(Timing): 添加完整注释文档并优化协程管理器实现
- 为 Timing 类添加了完整的 XML 文档注释,包括类说明、属性和方法描述
- 将协程调度器字段改为可空引用类型,提升类型安全性
- 添加了安全访问调度器的属性,避免未初始化时的潜在问题
- 优化了协程执行段切换逻辑,使用安全访问属性替代直接字段访问
- 完善了生命周期管理方法的文档注释
- 添加了协程控制 API 的详细注释,包括暂停、恢复、终止等功能
- 优化了延迟调用相关方法的实现和文档
- 改进了节点有效性检查方法的可读性
|
2026-01-21 20:45:00 +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 |
|
GeWuYou
|
ef2e718efe
|
feat(coroutine): 完善协程系统接口设计与实现
- 实现ICoroutineContext和ICoroutineHandle接口,提供协程上下文和句柄的标准定义
- 重构CoroutineContext实现ICoroutineContext接口,统一协程上下文访问方式
- 修改CoroutineHandle实现ICoroutineHandle接口,标准化协程控制方法
- 扩展ICoroutineScheduler和ICoroutineScope接口,增加ActiveCount属性和Launch方法
- 优化CoroutineScheduler线程安全性,添加线程ID检查防止跨线程调用
- 为WaitForSeconds、WaitUntil、WaitWhile添加Reset方法支持状态重置
- 重构CoroutineScopeExtensions移除类型转换,使用接口方法替代具体类型
- 改进GlobalCoroutineScope添加TryGetScope方法,使用TryGet模式替代异常控制
- 优化CoroutineHandle取消逻辑,确保取消时正确触发OnComplete事件
- 统一各协程组件的XML文档注释,完善参数和返回值说明
- [skip ci]
|
2026-01-21 00:06:01 +08:00 |
|
GeWuYou
|
f143cf5c1b
|
feat(coroutine): 实现协程系统核心功能
- 添加协程上下文、句柄、调度器和作用域管理类
- 实现协程等待指令包括 WaitForSeconds、WaitUntil 和 WaitWhile
- 创建协程系统和全局协程作用域管理器
- 定义协程相关抽象接口 ICoroutineScheduler、ICoroutineScope 等
- 升级 Meziantou.Analyzer 依赖版本至 2.0.283
- 升级 Meziantou.Polyfill 依赖版本至 1.0.100
|
2026-01-20 23:05:15 +08:00 |
|
GeWuYou
|
5ef6145688
|
fix(ui): 修复UiRouterBase弹出栈时目标UI键可空性问题
- 将topUiKey重命名为leavingUiKey以提高代码可读性
- 修改nextUiKey逻辑使其在栈中只有一个元素时返回null而非抛出异常
- 更新CreateEvent方法参数toUiKey为可空字符串类型
- 调整UiTransitionEvent中的ToUiKey属性为可空字符串类型
- 添加注释说明nextUiKey现在是可选的
- 格式化代码缩进和换行以提高可读性
v0.0.128
|
2026-01-20 19:12:45 +08:00 |
|
GeWuYou
|
039152438b
|
refactor(ui): 重构GodotUiRoot类构造函数和层级管理逻辑
- 将层级Z轴顺序映射表作为构造函数参数注入
- 移除静态字段LayerZOrderMap,改用实例字段_layerZOrderMap
- 为层级映射表添加详细的XML文档注释和默认值说明
- 修改GetBaseZOrder方法为实例方法并更新内部字段引用
- 优化代码结构和可读性
v0.0.127
|
2026-01-20 12:56:34 +08:00 |
|
GeWuYou
|
88ced1ac55
|
refactor(ui): 重构UI层级管理系统
- 移除 System.Collections.Generic 和 System 的 using 语句
- 添加 GFramework.Game.Abstractions.enums 的 using 语句
- 添加静态只读字典 LayerZOrderMap 来管理 UI 层级 Z 轴顺序
- 修改 AddUiPage 方法参数,使用 UiLayer 枚举替代 zOrder 参数
- 使用 TryAdd 方法替换 ContainsKey 判断逻辑
- 使用 Remove 方法的重载版本来简化页面移除逻辑
- 删除 RefreshLayerOrder 方法
- 添加 GetBaseZOrder 辅助方法来获取基础 Z 轴顺序
- 更新 UiLayer 枚举定义,移除显式的数值赋值
- 更新 IUiRoot 接口中的 AddUiPage 方法签名
- 删除 IUiRoot 接口中 RefreshLayerOrder 方法
- 更新 UiRouterBase 中调用 AddUiPage 方法的方式,传递 UiLayer 参数
|
2026-01-20 12:51:48 +08:00 |
|
GeWuYou
|
d85ef83ac1
|
feat(ui): 添加UI页面行为接口和实现
- 在IUiPageBehavior接口中添加IsModal、BlocksInput和RequiresMask属性定义
- 在CanvasItemUiPageBehavior类中实现模态对话框相关属性
- 添加页面模态状态、输入阻断和遮罩层需求的属性支持
- 为UI页面提供统一的模态行为控制接口
- 实现对下层交互阻断功能的支持
- 完善UI页面行为抽象层的设计规范
|
2026-01-20 12:40:53 +08:00 |
|
GeWuYou
|
3362d9456d
|
feat(ui): 实现UI缓存淘汰策略和移除动画相关功能
- 新增CacheEvictionPolicy枚举定义LRU和LFU缓存淘汰策略
- 在GodotUiFactory中实现缓存淘汰机制支持LRU/LFU策略
- 将IUiCacheStatistics接口从IUiFactory中分离到独立文件
- 移除UiAnimationPolicy类及相关动画策略参数配置
- 移除GodotUiTransition类中的UI过渡动画实现
- 移除UiTransitionAnimation枚举类型
- 更新UiRouterBase中路由方法移除动画策略参数
- 重构路由守卫注册方法位置优化代码结构
- 更新UiCacheConfig配置类适配新的缓存策略枚举值
-[skip ci]
|
2026-01-20 12:27:22 +08:00 |
|
GeWuYou
|
ad061bba46
|
feat(ui): 添加UI缓存统计和路由守卫功能
- 新增IUiCacheStatistics接口用于UI缓存统计信息
- 为IUiFactory添加缓存策略管理和统计信息获取功能
- 将IUiRouter中的层级管理改为路由守卫功能
- 实现路由守卫的注册、移除和执行逻辑
- 添加缓存配置管理支持
- [skip ci]
|
2026-01-20 10:24:23 +08:00 |
|