442 Commits

Author SHA1 Message Date
GeWuYou
24a129b8f5 chore(ci): 添加 MegaLinter 配置并更新 CI 工作流
- 添加 .mega-linter.yml 配置文件,设置代码质量检查工具参数
- 配置全局排除目录包括 bin、obj、node_modules 等
- 禁用 COPYPASTE、SPELL、MARKDOWN 等噪音检查器
- 启用 CSHARP_DOTNET_FORMAT、YAML、JSON 等核心检查器
- 设置 C# 代码格式化检查参数和 YAML/JSON 过滤规则
- 在 CI 工作流中为 MegaLinter 步骤添加 continue-on-error 选项
2026-02-02 09:36:37 +08:00
GeWuYou
7cba4d0756 feat(ci): 集成 MegaLinter 代码质量扫描工具
- 添加 MegaLinter 扫描步骤到 CI 流程
- 配置 GITHUB_TOKEN 环境变量用于访问权限
- 保持 TruffleHog 敏感信息扫描功能
2026-02-02 08:39:47 +08:00
GeWuYou
14e1d984e6 chore(workflow): 移除跳过标记检查并调整代码扫描定时任务
- 移除了 GitHub 工作流中的跳过关键字检查步骤
- 将代码扫描定时任务从每周二凌晨4点41分改为每天凌晨2点执行
- 简化了工作流配置逻辑,移除了条件判断相关的代码块
2026-02-01 22:11:32 +08:00
GeWuYou
7242f58029 refactor(coroutine): 重构 WaitForAllCoroutines 实现
- 修改 WaitForAllCoroutines 构造函数,添加 CoroutineScheduler 参数
- 移除 WaitForAllCoroutines 内部的待处理句柄集合和完成状态管理
- 修改 WaitForAllCoroutines 的 IsDone 属性实现,改为通过调度器检查协程状态
- 移除 WaitForAllCoroutines 的 NotifyCoroutineComplete 方法
- 更新 CoroutineScheduler 中对 WaitForAllCoroutines 的处理逻辑
- 移除调度器中的协程完成通知相关代码
- 更新所有相关测试用例以适应新的构造函数参数
- 添加对 scheduler 参数的空值验证测试
- [release ci]
v0.0.162
2026-02-01 16:53:26 +08:00
GeWuYou
65fdea6c12 refactor(tests): 重构协程测试代码以改进类型安全性和构造函数参数
- 在CommandCoroutineExtensionsTests中使用模式匹配变量替换类型检查
- 为CoroutineSchedulerTests添加必要的依赖注入和模拟对象支持
- 移除CoroutineState枚举中的Held状态并调整相关测试断言
- 更新WaitForAllCoroutines构造函数调用以移除scheduler参数
- 修改WaitForCoroutine测试以提供必需的协程参数
- 添加WaitForEvent协程功能的完整测试实现
- 移除重复的构造函数重载测试用例
- [release ci]
2026-02-01 16:08:07 +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
4943fc5c70 fix(coroutine): 修复Timing单例初始化逻辑
- 添加了GFramework.Godot.extensions命名空间引用
- 修正了Timing实例获取逻辑,避免重复创建已存在的实例
- 将AddChild操作包装在WaitUntilReady回调中确保正确添加到场景树
- 添加了WaitUntilReady的Action回调重载方法
- 实现了节点准备就绪后执行回调的功能
- 保持了原有异步等待ready信号的核心功能
- [release ci]
v0.0.161
2026-02-01 14:34:56 +08:00
GeWuYou
af583c101c refactor(core): 重构协程扩展和函数式编程相关代码
- 优化 CommandCoroutineExtensions 中的代码格式和异常处理逻辑
- 简化 WaitForEvent 和 WaitForEventWithTimeout 中的EventData属性实现
- 调整 EventListenerScope 中的EventData属性访问器
- 重构 ControlExtensions 中 TakeIf 和 TakeUnless 方法的实现
- 优化 FunctionExtensions 中 Repeat 和 Partial 方法的代码结构
- 调整 PipeExtensions 和其他扩展类的文档注释格式
- 修改测试代码中的协程迭代和事件注册相关实现
- 优化 DataRepository 中的异步操作实现方式
= [release ci]
v0.0.160
2026-02-01 14:07:59 +08:00
GeWuYou
1d7fe998b9 feat(context): 添加服务获取扩展方法
- 实现了从上下文感知对象获取指定类型服务的功能
- 添加了泛型约束确保服务类型为引用类型
- 集成了空值检查以提高代码健壮性
- 提供了详细的XML文档注释说明
- 扩展了IContextAware接口的功能范围
2026-02-01 13:33:54 +08:00
GeWuYou
085370aa27 test(coroutine): 添加协程扩展和助手类的单元测试
- 为 WaitForSecondsWithProgress 方法添加 null 回调参数的安全性测试
- 为 WaitForProgress 方法添加完整的功能和边界条件测试
- 为 RepeatCallForever 方法添加 shouldContinue 参数相关测试
- 为 RepeatCallForever 方法添加 CancellationToken 相关测试
- 移除未使用的 CreateCountingCoroutine 私有方法
- 使用 Assert.DoesNotThrow 确保 null 回调不会引发异常
2026-02-01 12:48:02 +08:00
GeWuYou
c50797dbe2 fix(coroutine): 修复协程扩展方法中的空引用和测试代码
- 为 RepeatEvery 方法的 action 参数添加可空引用支持
- 更新测试代码中集合断言的语法格式
- 移除测试方法中未使用的变量声明以简化代码
- 修复测试代码中 lambda 表达式的写法以避免不必要的变量赋值
2026-02-01 12:32:26 +08:00
GeWuYou
c7f6b3a9b2 test(coroutine): 添加协程组合扩展方法的单元测试
- 创建了 CoroutineComposeExtensionsTests 测试类
- 实现了 Then(Action) 方法的完整测试覆盖
- 实现了 Then(IEnumerator) 方法的完整测试覆盖
- 添加了链式调用功能的测试验证
- 包含边界条件和异常处理的测试用例
- 覆盖了空协程、延迟指令等特殊情况
- 验证了多层嵌套协程的正确执行顺序
- [release ci]
v0.0.159
2026-02-01 12:28:20 +08:00
GeWuYou
5a056fca84 feat(coroutine): 添加协程组合扩展功能并优化节点存活检查
- 为SendCommandCoroutineWithErrorHandler方法的onError参数添加默认值null
- 新增CoroutineComposeExtensions扩展类,提供Then方法实现协程顺序组合
- 优化CancelWith扩展方法,改进节点存活检查逻辑
- 使用LINQ All方法简化节点存活状态检查代码
- 添加完整的XML文档注释支持
2026-02-01 12:25:11 +08:00
GeWuYou
ec8f72932b test(coroutine): 添加协程相关功能的单元测试
- 添加 CommandCoroutineExtensions 的完整测试用例
- 添加 QueryCoroutineExtensions 的完整测试用例
- 添加 WaitForEvent 的完整测试用例
- 添加 WaitForEventWithTimeout 的完整测试用例
- 添加 Moq 依赖包用于模拟测试
- 实现多种协程指令和扩展方法的功能验证
- 包含超时处理、异常处理和事件触发等场景测试
- [release ci]
v0.0.158
2026-02-01 11:04:50 +08:00
GeWuYou
9ac4ac0534 feat(coroutine): 扩展命令协程支持超时等待事件
- 为SendCommandAndWaitEventCoroutine方法添加timeout参数支持
- 实现WaitForEventWithTimeout类用于带超时的事件等待
- 添加泛型约束确保命令类型实现IAsyncCommand接口
- 新增EventListenerScope类提供事件监听器作用域管理
- 支持超时异常处理并抛出相应的TimeoutException
- 优化事件回调处理逻辑,确保事件数据正确传递
2026-02-01 10:42:34 +08:00
GeWuYou
a47439f027 feat(coroutine): 添加带超时的事件等待协程指令
- 实现 WaitForEventWithTimeout 类用于带超时的事件等待
- 支持泛型事件类型参数化
- 提供超时检测和事件数据访问功能
- 实现 IYieldInstruction 接口支持协程执行
- 包含时间累加和状态更新逻辑
2026-02-01 10:37:29 +08:00
GeWuYou
32be23b01d feat(coroutine): 添加命令和查询的协程扩展功能
- 实现了 CommandCoroutineExtensions 类,提供命令异步执行的协程包装
- 添加了 SendCommandCoroutineWithErrorHandler 方法处理命令执行异常
- 实现了 SendCommandAndWaitEventCoroutine 方法支持发送命令并等待事件
- 创建了 QueryCoroutineExtensions 类,提供查询操作的协程扩展
- 添加了 WaitForEvent 协程指令用于等待特定事件触发
- 实现了完整的事件监听和资源清理机制
2026-02-01 10:35:11 +08:00
GeWuYou
af64c4ab3e refactor(setting): 重构设置事件系统
- 移除旧的设置相关事件类包括 SettingsAllLoadedEvent、SettingsBatchChangedEvent、
  SettingsBatchSavedEvent、SettingsChangedEvent、SettingsDeletedEvent 和 SettingsLoadedEvent
- 添加新的设置事件类包括 SettingsAppliedAllEvent、SettingsInitializedEvent、
  SettingsSavedAllEvent 和 SettingsResetEvent
- 在 SettingsModel 中集成新的事件发送机制
- 修改 Initialize 方法以发送 SettingsInitializedEvent 事件
- 更新 Save 方法以发送 SettingsSavedAllEvent 事件
- 修改 Apply 方法以发送 SettingsAppliedAllEvent 事件
- 添加 Reset 功能以发送 SettingsResetEvent 事件
- 添加 ResetAll 功能以发送 SettingsResetAllEvent 事件
- [release ci]
v0.0.157
2026-01-31 23:47:24 +08:00
GeWuYou
829c7a3b06 refactor(setting): 优化设置模型中的数据类型获取方式
- 在IResetApplyAbleSettings接口中添加DataType属性定义
- 修改SettingsModel中数据存储逻辑,使用applicator.DataType替代typeof(T)
- 为GodotAudioSettings、GodotGraphicsSettings和GodotLocalizationSettings实现DataType属性
- 统一通过DataType属性获取设置数据的类型信息
- [release ci]
v0.0.156
2026-01-31 23:11:55 +08:00
GeWuYou
f226a355b2 feat(setting): 添加设置数据存储功能
- 在 SettingsModel 中添加了数据存储逻辑
- 实现了应用器数据的自动注册机制
- 确保设置数据与应用器类型的正确关联
- 优化了设置模型的数据管理流程
- [release ci]
v0.0.155
2026-01-31 22:43:55 +08:00
GeWuYou
b2e8ed9787 refactor(functional): 重构函数式编程扩展模块
- 移除 EnumerableExtensions 扩展类及其 Map、Filter、Reduce 方法
- 从 ControlExtensions 中删除 Match、MatchOrDefault、If、IfElse 等控制流方法
- 重命名 FunctionExtensions 中的 Memoize 为 MemoizeUnbounded 并更新文档注释
- 重命名 FunctionExtensions 中的 Partial 相关方法并调整参数命名
- 在 PipeExtensions 中移除 Pipe、Then、After、Let 等方法,保留 Also 方法
- 删除多个功能性类型扩展文件,包括 Option、Result、NullableExtensions 等
- 移除功能扩展的 README.md 文档文件
- 更新相关命名空间引用和依赖关系
- [release ci]
v0.0.154
2026-01-31 22:31:50 +08:00
GeWuYou
3493d6a481 docs(functional): 添加函数式编程类型文档和单元测试
- 新增 Option 类型文档,包含核心类型及扩展方法说明
- 新增 Result 类型文档,包含核心类型及扩展方法说明
- 新增 Nullable Extensions 文档,提供可空类型转换功能说明
- 添加 Option 类型单元测试,覆盖基本功能和扩展方法
- 添加 Result 类型单元测试,验证成功失败结果处理
- 添加 Nullable Extensions 单元测试,确保类型转换正确性
- 添加 Option 和 Result 扩展方法的完整测试用例
- [release ci]
2026-01-31 21:52:04 +08:00
GeWuYou
1b442edadd refactor(functions): 重构函数式编程扩展方法
- 使用ConcurrentDictionary替换Dictionary实现线程安全的Memoize功能
- 将TryResult方法重命名为Try并简化返回类型为元组结构
- 为所有功能区域添加代码区域标记(柯里化、部分应用、重复执行、安全执行、缓存、映射)
- 更新Try方法的XML文档注释以匹配新的返回类型
- 移除GFramework.Core.functional.types命名空间引用并添加System.Collections.Concurrent引用
2026-01-31 21:44:45 +08:00
GeWuYou
20dcb87def refactor(control): 修改Match方法返回Option类型
- 将Match方法的返回类型从TResult改为Option<TResult>
- 匹配成功时返回Option<TResult>.Some(handler(value))
- 匹配失败时返回Option<TResult>.None()而不是抛出异常
- 移除InvalidOperationException异常抛出逻辑
2026-01-31 21:40:27 +08:00
GeWuYou
20bbf2297e refactor(pipe): 移除Apply和On扩展方法
- 删除了Apply扩展方法及其相关文档注释
- 删除了On扩展方法及其相关文档注释
- 移除了对应的单元测试方法
- 保留了Also、Pipe等其他管道操作方法
2026-01-31 21:34:02 +08:00
GeWuYou
c9dd969b05 feat(functional): 添加Result类型及其扩展方法支持
- 引入Result<TSuccess, TError>结构体用于表示可能成功或失败的计算结果
- 实现Result类型的Success和Failure静态工厂方法
- 添加SuccessValue和ErrorValue属性用于获取对应值
- 创建ResultExtensions扩展类提供Map、Bind、MapError和Match方法
- 在FunctionExtensions中添加TryResult方法将异常安全执行封装为Result类型
- 更新Try方法的文档注释以反映新的功能和返回类型
2026-01-31 21:31:33 +08:00
GeWuYou
fd3a9ae9e0 feat(functional): 添加函数式编程扩展和Option类型支持
- 在FunctionExtensions中新增Map扩展方法用于对象映射
- 在PipeExtensions中新增On扩展方法用于值到函数的应用
- 移除Tap方法及相关测试以优化管道操作
- 新增NullableExtensions实现可空类型到Option的转换
- 新增Option结构体提供安全的可选值处理
- 新增OptionExtensions提供Map、Bind、Filter、Match等函数式操作
- 新增OptionValueExtensions提供GetOrElse和OrElse值提取方法
- 调整全局引用添加Concurrent集合支持
- 扩展IResetApplyAbleSettings接口添加Data属性
- 更新Godot设置类实现Data属性返回设置数据模型
2026-01-31 21:25:27 +08:00
GeWuYou
c93d32c495 feat(data): 实现设置数据类型的动态注册和反序列化
- 添加类型注册表支持动态类型映射
- 修改LoadAllAsync方法使用注册类型进行反序列化
- 在SettingsModel初始化时自动注册数据类型到仓库
- 添加RegisterDataType接口方法支持类型注册功能
- 移除原有的无类型约束反序列化逻辑
- 增强数据加载的安全性和准确性
- [release ci]
v0.0.153
2026-01-31 19:44:59 +08:00
GeWuYou
43dcae0cf5 refactor(pipe): 重构函数式编程扩展方法为模块化结构
- 将原有的PipeExtensionsTests拆分为多个专门的测试类
- 创建ControlExtensionsTests用于控制流函数测试
- 创建EnumerableExtensionsTests用于集合操作函数测试
- 创建FunctionExtensionsTests用于高级函数操作测试
- 移除旧的综合测试文件中的多余测试方法
- 更新文档结构以反映新的模块化组织方式
- 重新整理README.md文档为模块化分类说明
2026-01-31 15:11:33 +08:00
GeWuYou
5318f5a38f refactor(functional): 重构函数式编程扩展方法组织结构
- 将原有的 PipeExtensions.cs 文件拆分为多个专门的功能模块
- 新增 ControlExtensions.cs 专门处理控制流扩展方法
- 新增 EnumerableExtensions.cs 专门处理集合相关扩展方法
- 新增 FunctionExtensions.cs 专门处理函数式编程核心功能
- 新增 TypeExtensions.cs 专门处理类型转换相关扩展方法
- 移除 PipeExtensions.cs 中的集合操作、函数式核心功能和控制流方法
- 保留 PipeExtensions.cs 中的管道操作相关核心方法
- 优化代码组织结构提升可维护性和可读性
2026-01-31 14:45:16 +08:00
GeWuYou
f5e460ff88 test(pipe): 添加函数式编程扩展方法的全面测试覆盖
- 实现 Pipe 方法测试,验证值能正确传递给函数并返回结果
- 添加 Then 方法测试,验证两个函数能够正确组合执行
- 添加 After 方法测试,验证反向函数组合的正确性
- 添加 Tap 方法测试,验证副作用操作执行后返回原值
- 添加 Map 方法测试,验证集合中每个元素都能被正确转换
- 添加 Filter 方法测试,验证集合能够根据条件正确过滤
- 添加 Reduce 方法测试,验证集合能够正确归约为单个值
- 添加 Apply 方法测试,验证函数能够正确应用到参数上
- 添加 Curry 方法测试,验证二参数函数能够正确柯里化
- 添加 Uncurry 方法测试,验证柯里化函数能够正确还原为二参数函数
- 添加 Partial 方法测试,验证部分应用函数功能
- 添加 Match 方法测试,验证模式匹配功能及无匹配时异常处理
- 添加 MatchOrDefault 方法测试,验证模式匹配带默认值功能
- 添加 If 和 IfElse 方法测试,验证条件执行和分支功能
- 添加 As 和 Cast 方法测试,验证安全类型转换和强制类型转换
- 添加 Also 和 Let 方法测试,验证执行操作后返回原值和值转换功能
- 添加 TakeIf 和 TakeUnless 方法测试,验证条件判断返回功能
- 添加 Repeat 方法测试,验证重复执行函数功能
- 添加 Try 方法测试,验证安全执行成功和异常情况处理
- 添加 Memoize 方法测试,验证函数结果缓存功能
2026-01-31 09:22:51 +08:00
GeWuYou
317bded2e1 docs(GFramework.Core): 添加Pipe扩展方法文档
- 新增函数式编程扩展方法的详细说明文档
- 包含管道操作、函数组合、柯里化等20种核心功能介绍
- 提供每种方法的具体用法示例和代码片段
- 添加链式操作和函数组合的实际应用场景
- 补充注意事项和适用场景说明
2026-01-31 09:11:55 +08:00
GeWuYou
b4c1096b10 feat(core): 添加函数式编程管道扩展方法
- 实现 Pipe 方法用于将值传递给函数
- 添加 Then 和 After 方法用于函数组合操作
- 提供 Tap 和 Also 方法用于执行副作用操作
- 添加 Map、Filter、Reduce 方法用于集合操作
- 实现 Curry、Uncurry、Partial 方法支持柯里化
- 添加 Match 和 MatchOrDefault 方法用于模式匹配
- 提供 If、IfElse 条件执行功能
- 添加类型转换相关方法 As、Cast
- 实现 Let、TakeIf、TakeUnless 等 方法
- 添加 Repeat 方法用于重复执行函数
- 提供 Try 方法用于安全执行函数
- 实现 Memoize 方法用于函数结果缓存
2026-01-31 09:06:10 +08:00
GeWuYou
eb60b05144 refactor(data): 统一设置数据仓库实现线程安全和键管理
- 添加 UnifiedKey 属性用于获取统一键值
- 在 SaveAsync 方法中添加异步锁确保线程安全
- 使用 UnifiedKey 替换 fileName 进行文件读写操作
- 在 EnsureLoadedAsync 中使用统一键进行存在性检查
- 优化 SaveAllToUnifiedFile 方法使用新的键属性
- 移除多余的空行以改善代码格式
- [release ci]
v0.0.152
2026-01-30 22:53:27 +08:00
GeWuYou
e5d6f72bac fix(setting): 修复 SettingsModel 构造函数参数可空性问题
- 将 IDataLocationProvider 参数标记为可空类型
- 将 TRepository 参数标记为可空类型
- 保持泛型约束不变以确保类型安全
2026-01-30 22:40:36 +08:00
GeWuYou
e2fef7110d refactor(setting): 更新 SettingsModel 构造函数注入依赖项
- 将 IDataLocationProvider 和 TRepository 从属性注入改为构造函数参数注入
- 移除字段初始化器中的空值赋值操作
- 简化依赖项的初始化流程,提高代码可读性
- 保持原有的数据仓库访问逻辑不变
- [release ci]
v0.0.151
2026-01-30 22:23:39 +08:00
GeWuYou
70421159e4 refactor(setting): 优化设置应用器注册方法的泛型参数约束
- 修改 RegisterApplicator 方法的参数类型从 IResetApplyAbleSettings 为具体泛型类型 T
- 移除抽象层中的方法约束,统一实现层和抽象层的方法签名
- 保持泛型约束 T : class, IResetApplyAbleSettings 不变
- 确保接口和实现类的方法定义一致性
- [release ci]
v0.0.150
2026-01-30 22:05:04 +08:00
GeWuYou
209c331d1f refactor(setting): 移除设置应用器注册方法中的new()约束
- 从RegisterApplicator方法的泛型约束中移除new()要求
- 修改实现类SettingsModel中的方法签名以匹配接口变更
- 更新抽象层ISettingsModel中的方法约束定义
- 保持原有功能完整性的同时提高代码灵活性
- [release ci]
v0.0.149
2026-01-30 21:48:57 +08:00
GeWuYou
6172ce96f1 fix(setting): 修复设置应用器注册方法的泛型约束
- 将RegisterApplicator方法的泛型约束从ISettingsData改为IResetApplyAbleSettings
- 更新接口定义中的泛型参数约束
- 修正相关XML文档注释中的接口名称描述
- [release ci]
v0.0.148
2026-01-30 21:34:04 +08:00
GeWuYou
7d581f07ca feat(settings): 重构设置系统架构以支持数据仓库模式
- 为 ILoadableFrom 接口添加 XML 文档注释
- 重命名 UnifiedSettingsRepository 为 UnifiedSettingsDataRepository
- 将仓库基类从 IDataRepository 替换为更具体的 ISettingsDataRepository
- 为 UnifiedSettingsDataRepository 添加完整的 XML 文档注释
- 在 SettingsModel 中使用 ISettingsDataRepository 替代 IDataRepository
- 修改 SettingsModel 中的应用器存储结构从 ConcurrentBag 到 ConcurrentDictionary
- 添加 LoadAllAsync 方法以支持批量加载所有设置数据
- 优化 SettingsModel 初始化逻辑以使用批量加载提高性能
- 为 AudioSettings、GraphicsSettings 和 LocalizationSettings 添加 LoadFrom 实现
- 将设置数据版本属性改为私有只读以防止外部修改
- 更新 SettingsSystem 接口约束以匹配新的抽象层设计
- 添加 GetApplicator 泛型方法以支持获取特定类型的应用器
- 实现 Reset 泛型方法以支持重置指定类型的设置数据
- [release ci]
v0.0.147
2026-01-30 21:16:31 +08:00
GeWuYou
970b8d3b96 refactor(settings): 重构设置系统和数据仓库实现
- 将音频和图形设置从 IResettable, IVersioned 迁移到 ISettingsData 接口
- 添加数据位置接口 IDataLocation 和数据位置提供者接口 IDataLocationProvider
- 修改数据仓库实现,使用数据位置替代类型进行数据操作
- 更新数据仓库的加载、保存、删除和存在检查方法以使用数据位置参数
- 重命名 IPersistentApplyAbleSettings 为 IResetApplyAbleSettings 并更新其实现
- 创建 ISettingsData 接口整合设置数据的基础功能
- 更新设置模型实现,统一管理设置数据的生命周期和应用器
- 添加版本化数据接口 IVersionedData 和可从源加载接口 ILoadableFrom
- 实现数据位置到存储键的扩展方法
- 更新数据事件类型以使用数据位置信息
- 重构设置模型的数据加载、保存和应用逻辑
- [skip ci]
2026-01-30 16:48:09 +08:00
GeWuYou
49d210b9ad refactor(data): 重构数据存储库的键生成逻辑
- 将 DataRepository 中的 GetKey 方法从私有改为受保护的虚拟方法
- 简化了基于类型的键生成逻辑,使用 FullName 替代 Name 和前缀组合
- 移除了 DataRepositoryOptions 中的 KeyPrefix 属性
- 将 UnifiedSettingsRepository 中的相关方法改为受保护的虚拟方法
- 简化了统一键生成的路径处理逻辑,移除多余的 TrimEnd 操作
- [release ci]
v0.0.146
2026-01-29 23:15:30 +08:00
GeWuYou
cc8f40ee44 style(formatter): 统一代码格式化和文档缩进
- 调整文档文件中的缩进格式一致性
- 修正所有C#接口和类定义中的注释缩进
- 移除测试代码中不必要的构造函数参数
- 重构条件语句减少嵌套层级
- 规范方法体的大括号使用风格
- 整理全局命名空间声明格式
- 优化方法实现的代码结构和可读性
- [release ci]
v0.0.145
2026-01-29 22:35:45 +08:00
GeWuYou
ad6c621c59 refactor(SettingsSystem): 简化保存所有设置数据的逻辑
- 移除手动遍历设置数据的循环代码
- 使用 Repository.SaveAllAsync 方法批量保存所有数据
- 提高代码简洁性和执行效率
2026-01-29 22:31:19 +08:00
GeWuYou
0c0ddaab7f feat(setting): 添加设置重置功能并重构Godot设置类
- 在SettingsModel中添加Reset<T>()和ResetAll()方法
- 在SettingsSystem中添加异步Reset<T>()和ResetAll()方法
- 扩展ISettingsModel和ISettingsSystem接口以支持重置操作
- 重构GodotAudioSettings、GodotGraphicsSettings和GodotLocalizationSettings类
- 将直接依赖设置对象改为依赖ISettingsModel接口
- 实现IResettable接口以支持设置重置功能
- [release ci]
v0.0.144
2026-01-29 21:51:41 +08:00
GeWuYou
7e4d93aa2b refactor(settings): 修改UnifiedSettingsRepository类访问修饰符
- 将UnifiedSettingsRepository类从sealed改为普通class
- 移除密封限制以支持继承扩展需求
- [release ci]
v0.0.143
2026-01-29 21:12:19 +08:00
GeWuYou
6c2e89bc4f feat(data): 添加统一设置仓库和运行时类型序列化支持
- 新增 UnifiedSettingsRepository 类实现单一文件存储所有设置数据
- 扩展 JsonSerializer 实现 IRuntimeTypeSerializer 接口支持运行时类型序列化
- 修改 DataRepositoryOptions 默认键名前缀为空字符串
- 实现异步加载、保存、删除和检查数据功能
- 添加数据事件通知机制支持
- 实现线程安全的数据缓存和文件操作
- [release ci]
v0.0.142
2026-01-29 20:57:05 +08:00
GeWuYou
86cd947006 chore(ci): 更新工作流配置以启用工件上传和历史结果获取
- 添加 upload-artifact 选项以启用测试工件上传
- 添加 fetch-previous-results 选项以获取历史测试结果
- 这些变更将改进测试报告和结果对比功能
2026-01-29 20:07:42 +08:00