gewuyou
cf486cbeff
Merge pull request #128 from GeWuYou/feat/get-node-generator
...
feat(godot): 添加 GetNode 源代码生成器功能
2026-03-22 15:34:00 +08:00
gewuyou
8d656b90a7
Merge pull request #129 from GeWuYou/deepsource-autofix-b7cf8394
...
refactor: simplify single-statement getter
2026-03-22 15:30:07 +08:00
GeWuYou
fc386fb4bc
refactor(generator): 调整项目文件夹结构
...
- 移除 logging 文件夹引用
- 将 diagnostics 文件夹重命名为 Diagnostics
- 更新项目文件中的文件夹路径配置
2026-03-22 15:28:39 +08:00
deepsource-autofix[bot]
bbf1dc8d0c
refactor: simplify single-statement getter
...
This PR refactors properties that contain only a single return statement by converting them to expression-bodied members, reducing boilerplate and improving readability.
- Getters and setters with a single statement in their bodies can be simplified: The `IsDone` property originally used a full getter block to evaluate whether all coroutine handles are inactive. We replaced it with an expression-bodied property (`public bool IsDone => _handles.All(handle => !_scheduler.IsCoroutineAlive(handle));`) and relocated the explanatory comment above it, streamlining the code.
> This Autofix was generated by AI. Please review the change before merging.
2026-03-22 07:24:25 +00:00
GeWuYou
b95c65a30e
refactor(generator): 优化GetNodeGenerator代码结构
...
- 使用语法树遍历替代字符串匹配来检测注入方法调用
- 添加IsGeneratedInjectionInvocation辅助方法提高代码可读性
- 将字段分组逻辑从列表查找改为字典映射提升性能
- 优化GroupByContainingType方法的时间复杂度
2026-03-22 15:23:51 +08:00
GeWuYou
9ab09cf47b
feat(godot): 添加 GetNode 源代码生成器功能
...
- 实现了 [GetNode] 属性用于标记 Godot 节点字段
- 创建了 GetNodeGenerator 源代码生成器自动注入节点获取逻辑
- 添加了节点路径推导和多种查找模式支持
- 集成了生成器到 Godot 脚手架模板中
- 添加了完整的诊断规则和错误提示
- 创建了单元测试验证生成器功能
- 更新了解决方案配置以包含新的测试项目
- 在 README 中添加了详细的使用文档和示例代码
2026-03-22 15:16:24 +08:00
gewuyou
63b1d71a0e
Merge pull request #127 from GeWuYou/feat/async-log-appender-error-handler
...
feat(logging): 添加异步日志输出器的错误处理回调功能
2026-03-21 22:09:06 +08:00
GeWuYou
cdc49c319a
feat(logging): 添加异步日志输出器功能
...
- 使用 Channel 实现异步日志处理机制
- 解耦调用线程与慢速日志目标
- 添加全局 Channels 命名空间引用
- 完善日志组件的异步处理能力
2026-03-21 22:04:09 +08:00
GeWuYou
d94d8deb29
fix(logging): 修复异步日志追加器中的操作取消异常处理
...
- 添加对 OperationCanceledException 的特殊处理,避免将其报告为后台处理错误
- 在 ReportProcessingError 方法中检查并过滤掉操作取消异常
- 添加单元测试验证当内部追加器抛出 OperationCanceledException 时不报告错误
- 创建 CancellationAppender 测试辅助类来模拟取消异常场景
- 确保取消相关的异常不会触发错误处理逻辑
2026-03-21 21:59:51 +08:00
GeWuYou
49609d3821
feat(logging): 添加异步日志输出器的错误处理回调功能
...
- 在 AsyncLogAppender 构造函数中添加 processingErrorHandler 参数用于处理后台异常
- 实现 ReportProcessingError 方法安全上报后台处理异常而不影响处理循环
- 更新文档注释说明异常处理机制和错误回调用途
- 修改测试用例验证异常处理回调功能的正确性
- 确保错误观察者异常不会终止日志处理线程
- 移除直接写入控制台错误输出的逻辑改为统一回调处理
2026-03-21 21:54:24 +08:00
gewuyou
003fe42ad8
Merge pull request #126 from GeWuYou/refactor/generators-downgrade-to-netstandard20
...
refactor(generators): 将源代码生成器项目目标框架降级至 netstandard2.0
2026-03-21 21:40:43 +08:00
GeWuYou
a42ec0c282
fix(generator): 修复优先级生成器中的部分关键字检查逻辑
...
- 将语法节点的部分关键字检查从 Any 操作改为 All 操作
- 修正了对非部分类的诊断报告条件判断
- 确保只有当所有修饰符都不是部分关键字时才报告错误
2026-03-21 21:31:52 +08:00
GeWuYou
884249649d
chore(build): 配置项目构建属性以支持源代码生成器
...
- 为 GFramework.Godot 项目添加 GodotProjectDir 属性默认值
- 在 GFramework 元包中添加 NoPackageAnalysis 属性配置
- 为不同 .NET 版本添加占位符文件到包输出中
- 确保源代码生成器在标准 SDK 构建中正常运行
2026-03-21 21:30:29 +08:00
GeWuYou
d582dffe40
refactor(generators): 将源代码生成器项目目标框架降级至 netstandard2.0
...
- 将 GFramework.Godot.SourceGenerators 项目的目标框架从 netstandard2.1 更改为 netstandard2.0
- 将 GFramework.SourceGenerators.Abstractions 项目的目标框架从 netstandard2.1 更改为 netstandard2.0
- 将 GFramework.SourceGenerators 项目的目标框架从 netstandard2.1 更改为 netstandard2.0
- 将 GFramework.SourceGenerators.Common 项目的目标框架从 netstandard2.1 更改为 netstandard2.0
- 从 GFramework.SourceGenerators 项目中移除对 GFramework.Core.Abstractions 的引用
- 从 GFramework.SourceGenerators.Abstractions 项目中移除对 GFramework.Core.Abstractions 的引用
- 更新 PriorityGenerator 中的语法检查逻辑,使用 Any 替代 All 进行 partial 关键字检查
- 更新 PriorityAttribute 文档注释中的 cref 格式为 c 标签
2026-03-21 21:20:32 +08:00
GeWuYou
63a6c2e6f0
refactor(abstractions): 移除重复的Key属性声明
...
- 从LockInfo结构体移除StructLayout特性
- 从ISceneBehavior接口移除重复的Key属性声明
- 从IUiPageBehavior接口移除重复的Key属性声明
- 简化LockInfo类定义减少不必要的using引用
2026-03-21 21:13:53 +08:00
GeWuYou
f3d45169cd
refactor(pause): 将暂停状态变化事件改为标准事件模式
...
- 将 OnPauseStateChanged 事件从 Action<PauseGroup, bool> 类型改为 EventHandler<PauseStateChangedEventArgs>
- 添加 PauseStateChangedEventArgs 类来封装事件数据
- 更新所有事件处理方法的签名以匹配新的事件参数
- 修改文档中相关的事件处理代码示例
- 在 PauseStackManager 中添加 RaisePauseStateChanged 方法统一处理事件触发
- 更新测试代码以适应新的事件处理方式
2026-03-21 21:13:53 +08:00
GeWuYou
86645d34cb
fix(generator): 修复诊断消息中的多余句号
...
- 移除了 Priority 特性描述中的多余句号
- 移除了 IPrioritized 接口实现跳过警告中的多余句号
- 移除了 partial 类要求错误中的多余句号
- 移除了 Priority 特性值验证错误中的多余句号
- 移除了嵌套类限制错误中的多余句号
- 移除了服务获取建议信息中的多余句号
2026-03-21 20:51:03 +08:00
GeWuYou
ab04f0ace7
docs(diagnostic): 更新诊断消息描述文本
...
- 为 Priority 特性错误消息添加句号结尾
- 为接口实现警告消息添加句号结尾
- 为 partial 类要求错误消息添加句号结尾
- 为整数值验证错误消息添加句号结尾
- 为嵌套类限制错误消息添加句号结尾
- 为服务获取建议消息添加句号结尾
- 在测试项目配置中添加警告级别设置
2026-03-21 20:51:03 +08:00
gewuyou
51492b1dcd
fix(docs): remove dead ADR references
2026-03-21 15:56:18 +08:00
gewuyou
4caa3c0d71
Merge pull request #122 from GeWuYou/feat/localization-compact-number-formatter
...
Feat/localization compact number formatter
2026-03-21 15:07:02 +08:00
GeWuYou
fca3808657
fix(localization): 修复紧凑数字格式化器处理未知选项的行为
...
- 修改 CompactNumberLocalizationFormatter 中 TryApplyOption 方法的返回逻辑
- 当键名未知时现在返回 true 而不是 false,允许忽略未知选项
- 更新 NumericDisplayFormatter 使用 ResolveRule 方法来确定格式化规则
- 添加对不同数值显示风格的支持和验证
- 在集成测试中添加未知选项的测试用例以验证正确行为
- 改进 NumericSuffixFormatRule 的文档注释以更清楚地描述功能
2026-03-21 15:01:47 +08:00
GeWuYou
5996ecf5f3
docs(core): 添加内置数值显示工具文档
...
- 新增内置数值显示工具使用说明
- 提供 FormatCompact 和 ToCompactString 示例代码
- 展示 NumericFormatOptions 配置选项用法
- 介绍本地化文本中的数值格式化功能
- 更新相关链接列表移除多余逗号
2026-03-21 14:43:55 +08:00
GeWuYou
53edd13f8f
feat(localization): 添加本地化格式化器和数值显示功能
...
- 在LocalizationManager中注册内置格式化器包括条件、复数和紧凑数值格式化器
- 实现CompactNumberLocalizationFormatter支持{value:compact}格式化语法
- 添加数值显示扩展方法ToDisplayString和ToCompactString
- 实现NumericDisplayFormatter和NumericSuffixFormatRule数值格式化核心逻辑
- 添加数值格式化选项配置包括小数位数、四舍五入策略等参数
- 为紧凑数值格式化功能添加完整的单元测试覆盖各种数值类型和边界情况
2026-03-21 14:43:42 +08:00
gewuyou
0442fec2d1
Merge pull request #121 from GeWuYou/docs/refactor-guidelines-comprehensive
...
Docs/refactor guidelines comprehensive
2026-03-21 13:47:39 +08:00
GeWuYou
2001eddbff
refactor(scripts): 重构AI环境生成脚本以优化工具选择逻辑
...
- 移除shell脚本中的冗余命令执行逻辑
- 添加select_tool函数统一处理工具偏好和回退逻辑
- 使用新函数重构搜索、JSON处理、脚本编写等工具选择
- 更新时间戳以反映代码变更后的重新生成
- 简化构建工具配置的回退策略
2026-03-21 12:49:51 +08:00
GeWuYou
3130a3bab2
feat(docs): 添加开发环境能力清单及相关工具脚本
...
- 在贡献指南中添加开发环境能力清单链接和说明
- 创建详细的开发环境能力清单文档,记录项目所需的运行时和工具
- 添加 .ai/environment/tools.ai.yaml 文件,为 AI 提供精简的环境能力信息
- 添加 .ai/environment/tools.raw.yaml 文件,存储完整的环境检测数据
- 创建 collect-dev-environment.sh 脚本,用于收集和输出环境信息
- 创建 generate-ai-environment.py 脚本,从原始数据生成 AI 友好的环境清单
- 在 .gitignore 中添加 .venv/ 工具目录忽略规则
2026-03-21 12:37:56 +08:00
GeWuYou
ba4ee24ce7
docs(guidelines): 更新 AGENTS.md 和 CLAUDE.md 文档内容
...
- 重写 AGENTS.md 为 AI 代理和贡献者提供完整的编码行为准则
- 新增详细的注释规则,包括 XML 文档、内联注释和架构级注释要求
- 完善代码风格指南,涵盖命名约定、格式化和 C# 最佳实践
- 扩展测试要求,明确覆盖率、组织结构和执行期望
- 添加安全规则和文档规范,确保代码质量和安全性
- 重构 CLAUDE.md 为 AI 代理提供项目理解指导
- 更新模块依赖图和架构模式说明,澄清各层职责
- 补充源码生成器、测试框架和文档结构的详细说明
- 优化项目概述和设计意图描述,提升 AI 理解准确性
2026-03-21 11:36:39 +08:00
gewuyou
dfae4ba207
Merge pull request #120 from GeWuYou/feat/docs-add-repository-guide
...
docs(guide): 添加仓库开发指南文档
2026-03-20 08:36:02 +08:00
GeWuYou
ccb51791a3
docs(guide): 更新提交和拉取请求指南中的拼写错误
...
- 修复了 "Conventional Commit" 到 "Conventional Commits" 的拼写
- 确保文档中使用的术语与业界标准保持一致
2026-03-20 08:24:17 +08:00
GeWuYou
55234c4d70
docs(guide): 添加仓库开发指南文档
...
- 创建了项目结构和模块组织说明
- 添加了构建测试和开发命令指南
- 定义了代码风格和命名约定规范
- 提供了测试指南和最佳实践
- 包含了提交和拉取请求准则
- 记录了解决方案文件和目录布局说明
2026-03-20 08:18:00 +08:00
dependabot[bot]
108bcbf27e
Bump Meziantou.Analyzer from 3.0.19 to 3.0.25
...
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.25
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.25
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.25
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.25
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.25
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 08:12:51 +08:00
dependabot[bot]
51393c30ee
Bump Microsoft.Extensions.DependencyInjection from 10.0.4 to 10.0.5
...
---
updated-dependencies:
- dependency-name: Microsoft.Extensions.DependencyInjection
dependency-version: 10.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 08:12:35 +08:00
dependabot[bot]
589f9f7d63
Bump the nuget group with 1 update
...
Bumps Scriban from 6.2.0 to 6.6.0
---
updated-dependencies:
- dependency-name: Scriban
dependency-version: 6.6.0
dependency-type: direct:production
dependency-group: nuget
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 08:12:18 +08:00
gewuyou
ba8369c8b3
Merge pull request #115 from GeWuYou/feat/localization-system
...
feat(core): 添加本地化系统支持多语言功能
2026-03-19 13:21:22 +08:00
GeWuYou
9ca28a44d8
refactor(localization): 优化回退表检查逻辑
...
- 将 Fallback.ContainsKey 检查替换为更安全的模式匹配语法
- 避免了潜在的空引用异常风险
- 提高了代码的可读性和健壮性
- 保持了原有的功能逻辑不变
2026-03-19 13:15:39 +08:00
GeWuYou
0c5c9dceae
test(localization): 添加本地化集成测试的临时文件管理和测试数据创建
...
- 添加 System.IO 命名空间引用以支持文件操作
- 实现 CreateTestLocalizationFiles 方法创建测试用的多语言文件
- 使用 GUID 生成唯一的临时目录路径避免冲突
- 添加 TearDown 方法清理测试过程中创建的临时文件
- 在 Setup 方法中调用文件创建方法初始化测试环境
- 将目标框架配置改为可配置的条件变量方式
2026-03-19 12:52:11 +08:00
GeWuYou
d7e7d3cc7f
feat(events): 为优先级事件系统添加线程安全支持
...
- 添加同步锁对象以保护处理器集合的并发访问
- 在注册和注销操作中加入线程安全锁机制
- 实现快照创建方法以避免迭代期间的并发修改
- 重构触发器逻辑以使用线程安全的快照创建
- 在计数器方法中添加同步保护
- 确保所有集合操作都在安全锁内执行
2026-03-19 12:51:59 +08:00
GeWuYou
b5c67850ce
docs(localization): 更新本地化字符串类的XML文档注释
...
- 为构造函数添加更详细的参数描述和异常说明
- 为WithVariable方法添加完整的XML文档注释
- 为WithVariables方法添加完整的XML文档注释
- 为Format方法添加详细的返回值和备注信息
- 为GetRaw方法添加完整的XML文档注释
- 为Exists方法添加完整的XML文档注释
- 为私有FormatString方法添加参数和返回值说明
- 为私有FormatMatch方法添加详细的处理逻辑描述
- 为私有TryFormatValue方法添加格式化器相关参数说明
- 为私有FormatValue方法添加默认格式化逻辑说明
- 为私有GetOptionalGroupValue方法添加功能说明
- 为私有GetFormatter方法添加获取格式化器的详细描述
2026-03-19 09:20:43 +08:00
GeWuYou
1f680d2822
refactor(localization): 重构本地化字符串格式化逻辑
...
- 将 FormatVariablePattern 从 readonly 字段改为 const 常量
- 提取复杂的正则替换逻辑到独立的 FormatMatch 方法中
- 新增 GetOptionalGroupValue 辅助方法处理可选组值提取
- 分离格式化值和尝试格式化的逻辑到独立方法
- 简化条件判断并提高代码可读性
- 优化错误处理流程,保持原有功能不变
2026-03-19 09:19:34 +08:00
GeWuYou
075d397a4c
refactor(localization): 更新集成测试中的命名空间引用
...
- 添加对 GFramework.Core.Abstractions.Localization 的引用
- 确保测试文件能够访问本地化相关的抽象接口
- 为后续的本地化功能扩展做好准备
- 保持代码结构的一致性与可维护性
2026-03-18 23:25:55 +08:00
GeWuYou
5fb96761a3
docs(localization): 更新本地化文档并完善功能实现
...
- 添加了配置项暂不支持的说明信息
- 扩展了语言变化监听的使用方式,增加命名方法订阅示例
- 完善了覆盖机制的文档说明
- 优化了异常处理逻辑,精确捕获本地化相关异常
- 实现了正则表达式的预编译以提升性能
- 添加了必要的命名空间引用
2026-03-18 23:25:09 +08:00
GeWuYou
e49713a842
feat(core): 添加本地化系统支持多语言功能
...
- 实现 ILocalizationManager 接口及 LocalizationManager 管理器
- 添加 ILocalizationTable 和 ILocalizationString 接口及其实现
- 创建 LocalizationConfig 配置类用于管理本地化行为
- 实现 ConditionalFormatter 和 PluralFormatter 内置格式化器
- 添加本地化文档包括 API 参考和使用指南
- 集成本地化系统到核心框架架构中
2026-03-18 22:58:07 +08:00
gewuyou
aee13c3c1d
Merge pull request #114 from GeWuYou/docs/add-claude-md-guide
...
docs(guide): 添加 CLAUDE.md 文件提供项目开发指导
2026-03-18 10:00:28 +08:00
GeWuYou
05c4f06717
docs(guide): 添加 CLAUDE.md 文件提供项目开发指导
...
- 新增项目概述说明,介绍 GFramework 框架的核心特性
- 添加构建和测试命令指南,包括 dotnet 构建和测试脚本
- 提供模块依赖关系图,说明各模块之间的依赖结构
- 详细描述架构模式,包括四层结构和关键设计模式
- 添加代码约定说明,涵盖命名空间、隐式引用等规范
- 补充测试框架信息,说明测试结构和基类使用方式
- 介绍源码生成器功能,列出四个主要生成器的作用
- 提供文档站点信息,说明 VitePress 文档的本地预览方法
2026-03-18 09:44:06 +08:00
gewuyou
2accbf4bdf
Merge pull request #113 from GeWuYou/refactor/router-base-ci-concurrency
...
refactor(game): 重构路由系统并优化CI测试流程
2026-03-17 16:45:05 +08:00
GeWuYou
60068aff4f
refactor(ci): 重构工作流配置以分离代码质量和构建测试任务
...
- 将原有的 test job 重命名为 code-quality,专注于代码质量与安全检查
- 添加构建和测试独立的 build-and-test job,实现并行执行
- 更新 MegaLinter 配置,优化缓存和报告上传流程
- 重新组织 CI 工作流结构,提升执行效率和可维护性
- 调整作业名称和描述,明确职责分工
2026-03-17 16:34:09 +08:00
GeWuYou
9c69c4ec00
refactor(ci): 优化CI工作流中的测试执行策略
...
- 将多个独立的测试步骤合并为单个并发执行步骤
- 移除重复的测试配置以简化工作流定义
- 保留后台测试等待机制确保执行完整性
- 统一测试项目名称提高可读性
2026-03-17 16:20:55 +08:00
GeWuYou
65b949b62f
perf(scene): 优化路由守卫异步方法性能
...
- 将 ISceneRouteGuard 中的 Task 返回类型改为 ValueTask
- 将 IUiRouteGuard 中的 Task 返回类型改为 ValueTask
- 移除注释中的多余缩进空格
- 提升异步操作的性能表现
2026-03-17 16:10:24 +08:00
GeWuYou
4afa856fdc
refactor(game): 重构路由系统并优化CI测试流程
...
- 将SceneRouterBase和UiRouterBase继承自新的RouterBase基类
- 移除原有的守卫管理相关代码,统一使用基类实现
- 更新路由栈操作使用基类提供的Stack属性
- 重写Current、Contains等方法以使用基类实现
- 在CI工作流中启用并发测试执行以提升性能
- 添加等待步骤确保并发测试完成
- 更新项目文件排除测试项目的编译
- 在解决方案文件中添加GFramework.Game.Tests项目引用
- 新增RouterBase基类提供通用路由管理功能
2026-03-17 15:01:55 +08:00
gewuyou
27858df94e
Merge pull request #112 from GeWuYou/refactor/architecture-modular-safety
...
refactor(architecture): 重构架构类为模块化设计提升代码安全性
2026-03-17 12:56:34 +08:00
GeWuYou
1c2e68fc5a
style(docs): 统一文档中IoC容器术语格式并优化架构生命周期代码
...
- 将文档中的"IOC"统一更正为"IoC"格式
- 重构ArchitectureLifecycle类构造函数使用主构造函数语法
- 移除私有字段前缀下划线,直接使用参数名称
- 修复配置访问权限问题,移除字段访问前缀下划线
- 调整组件注册方法泛型约束,提升类型安全
- 优化日志记录器访问方式,移除字段访问前缀下划线
- 重构销毁逻辑,分离组件清理和服务模块销毁流程
- 提取清理组件逻辑到独立方法,提升代码可读性
- 更新阶段转换和钩子通知中的对象引用方式
2026-03-17 12:50:43 +08:00
GeWuYou
3d8e19b5e2
refactor(architecture): 重构架构类为模块化设计提升代码安全性
...
- 将单一 Architecture 类拆分为 ArchitectureLifecycle、ArchitectureComponentRegistry 和 ArchitectureModules
- 消除 3 处 null! 强制断言,在构造函数中初始化管理器提高代码安全性
- 添加 PhaseChanged 事件支持架构阶段监听
- 所有公共 API 保持不变确保向后兼容
- 实现单一职责原则使代码更易维护和测试
- 组件注册、生命周期管理和模块管理职责分离到专门的管理器中
2026-03-17 11:08:48 +08:00
gewuyou
ef05713bf2
Merge pull request #111 from GeWuYou/refactor/architecture-to-architectures-namespace
...
Refactor/architecture to architectures namespace
2026-03-14 17:01:31 +08:00
GeWuYou
e022a10bd5
refactor(architecture): 将架构相关文件从 Architecture 目录移动到 Architectures 目录
...
- 重命名目录名称从 Architecture 到 Architectures
- 更新所有相关文件的命名空间声明
- 保持代码功能不变,仅调整目录结构和命名空间一致性
2026-03-14 16:54:07 +08:00
GeWuYou
c82a15f8bc
refactor(abstractions): 将Architecture命名空间重命名为Architectures
...
- 更新所有引用GFramework.Core.Abstractions.Architecture的文件
- 将ArchitectureModuleRegistry.cs从Architecture目录移动到Architectures目录
- 将IArchitecture.cs从Architecture目录移动到Architectures目录
- 将IArchitectureConfiguration.cs从Architecture目录移动到Architectures目录
- 将IArchitectureContext.cs从Architecture目录移动到Architectures目录
- 将IArchitectureContextProvider.cs从Architecture目录移动到Architectures目录
- 将IArchitectureLifecycleHook.cs从Architecture目录移动到Architectures目录
- 将IArchitectureModule.cs从Architecture目录移动到Architectures目录
- 将IArchitecturePhaseListener.cs从Architecture目录移动到Architectures目录
- 将IArchitectureServices.cs从Architecture目录移动到Architectures目录
- 将IServiceModule.cs从Architecture目录移动到Architectures目录
- 将IServiceModuleManager.cs从Architecture目录移动到Architectures目录
- 在ArchitectureModuleRegistry中将私有字段_factories重命名为Factories并添加StringComparer.Ordinal参数
2026-03-14 16:52:28 +08:00
gewuyou
2d89efa4b7
Merge pull request #110 from GeWuYou/docs/remove-migration-guide
...
Docs/remove migration guide
2026-03-13 22:44:29 +08:00
GeWuYou
597d4dfeda
docs(menu): 移除迁移指南菜单项
...
- 从中文导航菜单中删除迁移指南链接
- 更新配置文件中的菜单结构
2026-03-13 22:44:01 +08:00
GeWuYou
f3deb299ac
docs: 移除版本迁移指南文档
...
- 删除了整个迁移指南文档文件 docs/zh-CN/migration-guide.md
- 移除了详细的从 0.x 到 1.x 版本迁移说明
- 删除了架构变更、API 变更和配置变更相关内容
- 清理了常见问题解答和回滚方案部分
- 移除了测试迁移和代码迁移工具介绍
2026-03-13 22:43:28 +08:00
gewuyou
fc2f9ebf1a
Merge pull request #109 from GeWuYou/chore/resharper-namespace-suppression
...
chore(abstractions): 添加 ReSharper 禁用检查命名空间注释
2026-03-13 22:36:58 +08:00
GeWuYou
0640a06e44
chore(abstractions): 添加 ReSharper 禁用检查命名空间注释
...
- 在 GFramework.Core.Abstractions 中添加 // ReSharper disable CheckNamespace 注释
- 在 GFramework.Game.Abstractions 中添加 // ReSharper disable CheckNamespace 注释
- 解决代码分析工具对命名空间检查的警告问题
2026-03-13 22:29:29 +08:00
gewuyou
94f75bfa03
Merge pull request #108 from GeWuYou/chore/cleanup-refactor-scripts
...
chore(build): 删除文件夹映射配置和命名空间更新脚本
2026-03-13 10:03:24 +08:00
GeWuYou
10640f1c73
refactor(scripts): 将 C# 命名验证脚本从 Python 重写为 Bash
...
- 将验证逻辑从 Python 代码转换为 Bash 脚本实现
- 使用 grep 和正则表达式替换 Python 的字符串匹配功能
- 实现 PascalCase 验证的正则表达式模式
- 添加目录路径和命名空间段的验证逻辑
- 保持原有的排除规则和错误报告格式
- 移除对 Python3 的依赖,仅使用系统内置命令
2026-03-13 09:53:50 +08:00
GeWuYou
cb0d0682b0
refactor(core): 统一C#命名规范并添加校验脚本
...
- 将所有IoC相关命名空间从"IoC"重命名为"Ioc"
- 将所有CQRS相关命名空间从"CQRS"重命名为"Cqrs"
- 更新所有受影响的using语句以匹配新的命名空间
- 在CI工作流中添加C#命名规范校验步骤
- 修正了测试文件中的命名空间引用
2026-03-13 09:41:43 +08:00
GeWuYou
8b5efc69ec
chore(build): 删除文件夹映射配置和命名空间更新脚本
...
- 移除 folder-mappings.json 配置文件
- 删除 update-namespaces.sh 自动化脚本
- 清理项目中的文件夹重命名映射关系
- 移除自动生成命名空间更新的功能
- 完成代码库结构规范化清理工作
2026-03-12 21:35:50 +08:00
dependabot[bot]
54103c21a4
chore(deps): bump trufflesecurity/trufflehog from 3.93.7 to 3.93.8
...
Bumps [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog ) from 3.93.7 to 3.93.8.
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases )
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/v3.93.7...v3.93.8 )
---
updated-dependencies:
- dependency-name: trufflesecurity/trufflehog
dependency-version: 3.93.8
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-12 21:33:15 +08:00
dependabot[bot]
7aa009ab06
Bump coverlet.collector from 6.0.2 to 6.0.4
...
---
updated-dependencies:
- dependency-name: coverlet.collector
dependency-version: 6.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-12 21:33:04 +08:00
dependabot[bot]
90bfa7200a
Bump Meziantou.Analyzer from 2.0.264 to 2.0.302
...
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.302
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-12 21:32:51 +08:00
dependabot[bot]
e4cc0c7943
Bump Meziantou.Polyfill from 1.0.71 to 1.0.104
...
---
updated-dependencies:
- dependency-name: Meziantou.Polyfill
dependency-version: 1.0.104
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-12 21:32:41 +08:00
dependabot[bot]
0b7d5c8f0c
Bump Microsoft.Extensions.DependencyInjection from 10.0.3 to 10.0.4
...
---
updated-dependencies:
- dependency-name: Microsoft.Extensions.DependencyInjection
dependency-version: 10.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-12 21:32:28 +08:00
dependabot[bot]
920a2c519e
Bump NUnit from 4.5.0 to 4.5.1
...
---
updated-dependencies:
- dependency-name: NUnit
dependency-version: 4.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: NUnit
dependency-version: 4.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: NUnit
dependency-version: 4.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-12 21:32:16 +08:00
gewuyou
f48a8db094
Merge pull request #99 from GeWuYou/docs/coroutine-system-refactor
...
Docs/coroutine system refactor
2026-03-12 12:58:51 +08:00
GeWuYou
4362989056
docs(coroutine): 更新协程相关文档
...
- 添加了 AsCoroutineInstruction()、ToCoroutineEnumerator() 和 StartTaskAsCoroutine()
的使用场景说明
- 优化了等待异步方法的文档描述,明确不同 API 的适用场景
- 详细说明了 CancelWith 方法的节点有效性判断机制和停止条件
- 补充了 Godot 协程中 Task 转协程的具体使用建议
2026-03-12 12:49:29 +08:00
GeWuYou
1c30149ebd
docs(coroutine): 更新协程系统文档内容
...
- 重新描述协程系统功能,强调基于 IEnumerator<IYieldInstruction> 的调度能力
- 更新核心概念介绍,明确协程系统的组成部分和架构设计
- 修改 CoroutineScheduler 使用示例,添加统计信息启用说明
- 完善 CoroutineHandle 的控制方法说明,包括暂停、恢复和终止操作
- 优化协程状态控制示例代码,展示标签和分组管理功能
- 重构等待指令说明,按时间帧、条件等待、Task桥接等方式分类
- 更新事件等待相关示例,改进超时处理和多事件等待功能
- 完善协程组合功能说明,包括子协程等待和多句柄等待
- 优化扩展方法介绍,按组合扩展、协程生成扩展、Task扩展等分类
- 更新命令、查询和Mediator扩展使用说明
- 修订异常处理机制说明,明确调度器异常处理方式
- 更新常见问题解答,澄清协程执行时机和线程模型概念
- 精简相关文档链接,移除冗余的系统集成说明
2026-03-12 12:41:53 +08:00
GeWuYou
4156839bd9
docs(godot): 更新协程系统文档内容
...
- 重构协程系统架构说明,明确核心组件和入口点
- 更新协程启动方式和基本用法示例代码
- 添加 Segment 分段调度机制详细说明
- 补充节点生命周期绑定和延迟调用功能介绍
- 完善常用等待指令和协程控制方法文档
- 优化事件总线集成和上下文感知集成说明
2026-03-12 12:41:22 +08:00
gewuyou
d038b67e29
Merge pull request #98 from GeWuYou/refactor/storage-async-safety
...
refactor(storage): 重构文件存储实现以支持异步安全锁和原子写入
2026-03-11 23:08:09 +08:00
GeWuYou
820cdcf0fa
refactor(storage): 统一文件存储模块的依赖注入
...
- 在 FileStorage 中添加 System.IO 和 System.Text 引用
- 在 GodotFileStorage 中整合所有必要的命名空间引用
- 统一并发和序列化接口的依赖注入方式
- 添加 Godot 特定的 FileAccess 类型别名
- 优化 Godot 扩展功能的引用结构
2026-03-11 22:34:30 +08:00
GeWuYou
b01867b231
fix(storage): 修复文件存储组件的资源管理和死锁问题
...
- 添加了内部锁管理器所有权标识,防止外部传入的锁管理器被错误释放
- 在构造函数中正确初始化锁管理器的所有权状态
- 在Dispose方法中只释放内部创建的锁管理器,避免重复释放异常
- 为所有同步包装方法添加了ConfigureAwait(false)以避免死锁
- 更新了读取、写入、删除和检查存在的同步方法实现
- 为所有异步操作添加了适当的配置避免上下文切换问题
- 改进了Godot文件存储类的相同资源管理逻辑
- 为所有阻塞式同步方法添加了详细的XML注释警告说明
2026-03-11 22:26:01 +08:00
GeWuYou
494c341c08
refactor(storage): 重构文件存储实现以支持异步安全锁和原子写入
...
- 替换同步锁机制为异步键锁管理器,提升并发性能
- 实现原子写入功能,通过临时文件防止写入过程中的数据损坏
- 添加资源释放接口(IDisposable)和对象销毁检查
- 集成异步IO操作,包括缓冲区大小配置选项
- 更新Godot文件存储适配器以匹配新的异步安全机制
- 优化文件读取操作,支持异步文本读取避免阻塞
- 移除旧的并发字典锁实现,统一使用新的锁管理器
2026-03-11 21:57:04 +08:00
gewuyou
9c2e63f0e1
Merge pull request #96 from GeWuYou/feat/concurrency-add-async-key-lock-manager
...
feat(concurrency): 添加工业级异步键锁管理器
2026-03-11 19:41:07 +08:00
GeWuYou
378d7afb23
fix(concurrency): 修复异步锁管理器中的超时单位错误和资源泄漏问题
...
- 修正 _lockTimeoutTicks 为 _lockTimeoutMs,统一使用毫秒作为时间单位
- 在 AcquireLockAsync 方法中添加异常处理,防止锁等待失败时的资源泄漏
- 为同步 AcquireLock 方法添加 ConfigureAwait(false) 避免死锁风险
- 更新锁统计信息中的 WaitingCount 字段为近似值说明
- 修正清理逻辑中使用正确的超时单位进行比较
2026-03-11 19:17:03 +08:00
gewuyou
00a687168f
Merge pull request #97 from GeWuYou/refactor/scoped-array-optimization
...
refactor(core): 优化ScopedArray结构体实现
2026-03-11 12:53:44 +08:00
GeWuYou
b6c13088cd
refactor(GFramework.Core): 移除ScopedArray的IDisposable接口实现
...
- 从ScopedArray结构体中移除IDisposable接口
- 保留数组池管理和自动释放功能
- 简化类型定义以提高性能表现
2026-03-11 12:44:32 +08:00
GeWuYou
ea79df232b
refactor(GFramework.Core): 优化ScopedArray实现并添加资源清理功能
...
- 为ScopedArray<T>实现IDisposable接口以支持资源清理
- 修改Array属性访问方式,通过GetArray方法确保对象未被释放
- 更新Length属性实现,依赖Array属性而非直接访问私有字段
- 调整AsSpan方法实现,统一通过Array属性获取数组实例
- 重写索引器实现,使用Array属性替代直接字段访问
- 新增GetArray私有方法,用于检查对象状态并返回内部数组
- 添加ObjectDisposedException异常处理,防止访问已释放对象
2026-03-11 12:34:08 +08:00
GeWuYou
ffda10be86
refactor(core): 优化ScopedArray结构体实现
...
- 将ScopedArray从readonly struct改为ref struct以提高性能
- 添加_array字段存储数组引用并移除公共Array属性
- 在Dispose方法中添加空值检查避免重复释放
- 添加Span属性和索引器支持直接访问数组元素
- 使用#pragma warning禁用CA1819警告并优化代码风格
2026-03-11 08:58:33 +08:00
GeWuYou
b37873a67c
feat(concurrency): 添加工业级异步键锁管理器
...
- 实现了基于键的细粒度异步锁机制
- 提供自动清理未使用锁的功能,避免内存泄漏
- 集成了统计信息收集功能,便于监控和调试
- 支持同步和异步两种锁获取方式
- 实现了锁句柄的自动释放机制
- 添加了完整的单元测试覆盖各种并发场景
2026-03-10 23:11:35 +08:00
gewuyou
11c7bc1457
Merge pull request #93 from GeWuYou/feat/result-add-try-map-bind-methods
...
feat(Result): 扩展Result结构体功能并优化实现
2026-03-10 21:16:41 +08:00
GeWuYou
c6024bf94a
feat(GFramework.Core.Functional.Result): 增强Result类的安全性和健壮性
...
- 在构造函数中添加强制不变式检查,确保失败状态必须携带非空异常
- 为Try方法添加空值验证,防止传入空委托导致异常
- 为Map方法添加空值验证,增强方法调用的安全性
- 为Bind方法添加空值验证,提升代码健壮性
- 重构Map和Bind方法结构,使其更清晰易读
2026-03-10 21:09:58 +08:00
gewuyou
248a29b4df
Merge pull request #92 from GeWuYou/deepsource-autofix-834b3193
...
refactor: use ternary operator for conditional assignments
2026-03-10 20:25:35 +08:00
gewuyou
1f0eb55288
Merge pull request #94 from GeWuYou/refactor/pool-simplify-warning-messages
...
refactor(pool): 简化对象池释放警告消息
2026-03-10 20:24:58 +08:00
deepsource-autofix[bot]
caeb1ab80f
refactor: use ternary operator for conditional assignments
...
This PR refactors code that used multi-line if/else statements to use the ternary operator for more concise and readable assignments.
- if statement can be rewritten using the ternary operator: The original code assigned values based on Storage.ExistsAsync(key) with separate if and else blocks, leading to verbose multi-line statements. We have replaced these with single-line ternary expressions in both the generic GetAsync<T> method and the UnifiedSettingsFile loader, reducing code duplication and improving clarity.
> This Autofix was generated by AI. Please review the change before merging.
2026-03-10 11:21:39 +00:00
GeWuYou
4750910675
feat(Result): 扩展Result结构体功能并优化实现
...
- 添加StructLayout特性优化内存布局
- 将Failure方法中的Exception替换为InvalidOperationException
- 重构Equals方法提高比较逻辑的可读性
- 简化GetHashCode方法的哈希计算逻辑
- 更新ToString方法移除空值检查
- 新增Try方法用于安全执行可能抛出异常的操作
- 添加Map方法支持将Result成功状态映射到其他类型
- 实现Bind方法用于链式调用Result操作
2026-03-10 19:20:52 +08:00
GeWuYou
43b88e7573
refactor(pool): 简化对象池释放警告消息
...
- 移除冗余的 'Attempting to release object for key' 文本
- 删除重复的 'or incorrect key' 描述
- 简化警告消息以提高可读性
- 保持核心警告信息不变
2026-03-10 19:13:39 +08:00
gewuyou
8e4e794661
Merge pull request #91 from GeWuYou/refactor/namespace-pascalcase
...
Refactor/namespace pascalcase
2026-03-10 19:07:33 +08:00
GeWuYou
52f95c7e5f
refactor(tests): 将Architecture目录重命名为Architectures
...
- 重命名GFramework.Core.Tests/Architecture目录为GFramework.Core.Tests/Architectures
- 更新所有相关文件中的命名空间引用
- 修复GameContextTests中TestArchitecture类的基类引用
- 修复TestArchitectureBase类的基类引用
- 修复ArchitectureTestsBase泛型约束中的类型引用
- 更新其他测试文件中的命名空间导入路径
2026-03-10 19:01:50 +08:00
GeWuYou
8ea462de28
test(architecture): 更新架构上下文测试以验证未注册组件抛出异常
...
- 修改 GetSystem 方法测试用例,验证未注册系统时抛出 InvalidOperationException
- 修改 GetModel 方法测试用例,验证未注册模型时抛出 InvalidOperationException
- 修改 GetUtility 方法测试用例,验证未注册工具时抛出 InvalidOperationException
- 更新异步架构测试中的系统销毁验证逻辑
- 移除对已销毁系统的空值检查断言,改为验证异步测试系统的销毁状态
2026-03-10 10:16:04 +08:00
GeWuYou
95de78efae
refactor(architecture): 优化架构上下文中的服务缓存和空值处理
...
- 将服务缓存从 Dictionary 替换为 ConcurrentDictionary 以提高线程安全性
- 移除所有 GetService 相关方法的可空返回类型,统一改为非空返回
- 修改 GetOrCache 方法实现,使用 GetOrAdd 方法简化缓存逻辑
- 更新命令和事件总线调用方式,移除空值检查操作符
- 调整接口契约,明确服务不存在时抛出异常而非返回 null
- 优化依赖注入容器的服务获取流程,增强错误处理机制
2026-03-10 09:08:13 +08:00
GeWuYou
aeed1f903c
refactor(GFramework.Ecs.Arch): 移除未使用的抽象依赖
...
- 从 ArchEcsModule.cs 中移除未使用的 GFramework.Ecs.Arch.Abstractions 引用
- 清理项目中不必要的命名空间引用以优化代码结构
2026-03-10 08:48:35 +08:00
GeWuYou
027a214479
refactor(core): 将System命名空间重命名为Systems
...
- 更新所有GFramework.Core.Abstractions.System引用为GFramework.Core.Abstractions.Systems
- 重命名GFramework.Core/System目录为GFramework.Core/Systems
- 重命名GFramework.Core.Tests/System目录为GFramework.Core.Tests/Systems
- 更新所有相关using语句和命名空间声明
- 修复测试文件中的命名空间引用
- 添加全局using引用GFramework.Core.Systems
2026-03-10 08:42:53 +08:00
GeWuYou
fb14d7122c
docs(style): 更新文档中的命名空间导入格式
...
- 将所有小写的命名空间导入更正为首字母大写格式
- 统一 GFramework 框架的命名空间引用规范
- 修复 core、ecs、godot 等模块的命名空间导入错误
- 标准化文档示例代码中的 using 语句格式
- 确保所有文档中的命名空间引用保持一致性
- 更新 global using 语句以匹配正确的命名空间格式
2026-03-10 07:18:49 +08:00
gewuyou
53b04c12f0
Merge pull request #90 from GeWuYou/docs/ecs-documentation-improvements-
...
docs(ecs): 更新文档中的类型参数表示和相关链接
2026-03-08 21:54:44 +08:00
GeWuYou
f5d1985a59
docs(ecs): 更新文档中的类型参数表示和相关链接
...
- 将文档中的 `ArchSystemAdapter<T>` 替换为 `ArchSystemAdapter<T>` 以正确显示尖括号
- 移除重复的许可证信息和分隔线
- 删除过时的文档链接,保持导航结构简洁
2026-03-08 21:37:37 +08:00
gewuyou
05d7557fa1
Merge pull request #89 from GeWuYou/refactor/extract-ecs-to-independent-module
...
Refactor/extract ecs to independent module
2026-03-08 21:27:34 +08:00
GeWuYou
f771b7dbef
chore(ci): 添加 GFramework.Ecs.Arch.Tests 测试步骤
...
- 为 CI 工作流添加新的测试步骤
- 配置 GFramework.Ecs.Arch.Tests 的测试运行命令
- 设置测试结果输出目录为 TestResults
- 使用 trx 格式记录测试日志文件
- 保持与现有测试配置一致的结构和格式
2026-03-08 21:01:13 +08:00
GeWuYou
f35c9309f3
docs(menu): 重构 ECS 文档导航结构
...
- 将 ECS 相关菜单项从 Core 部分独立出来
- 新增 ECS 概述页面和 Arch ECS 集成文档
- 删除旧的 Core/ECS 集成文档文件
- 更新侧边栏配置以支持新的 ECS 导航结构
2026-03-08 20:55:03 +08:00
GeWuYou
5c5525e3e9
refactor(architecture): 简化模块注册接口并增强配置管理
...
- 移除 RegisterBuiltInModules 方法中的 ArchitectureProperties 参数
- 更新 ArchitectureModuleRegistry 使用 ConcurrentDictionary 存储模块工厂
- 实现模块注册的幂等性检查,相同模块名只注册一次
- 为 ArchEcsModule 添加 ArchOptions 配置类支持
- 更新 UseArch 扩展方法传递配置选项给 ArchEcsModule
- 移除废弃的 properties 命名空间引用
- 添加显式注册集成测试验证模块配置功能
2026-03-08 20:47:26 +08:00
GeWuYou
ac2a9759e1
refactor(ArchEcsModule): 优化系统适配器管理
...
- 将 _systems 字段类型从 List 改为 IReadOnlyList
- 使用 GetAllByPriority 方法按优先级获取适配器
- 移除手动 AddRange 操作,直接赋值适配器列表
- 销毁时将 _systems 设置为空数组而非 Clear() 操作
2026-03-08 20:38:12 +08:00
GeWuYou
4257d58f86
feat(GFramework.Ecs.Arch): 注册模块自身到容器中
...
- 在 ArchEcsModule 初始化时注册模块自身到容器
- 移除不必要的空行以保持代码整洁
2026-03-08 20:33:00 +08:00
GeWuYou
bca92e52a3
refactor(ecs): 重构 Arch ECS 模块注册机制
...
- 移除自动初始化器,改用显式注册方式
- 修改 UseArch 扩展方法支持可选配置参数
- 更新文档说明新的集成方式和配置选项
- 删除自动注册相关的测试代码
- 调整 README 中的使用示例和架构说明
2026-03-08 20:19:24 +08:00
GeWuYou
af76e0ab0b
refactor(ecs): 移除Arch ECS模块及相关组件和系统
...
- 删除Position组件结构体定义
- 删除Velocity组件结构体定义
- 删除MovementSystem移动系统实现
- 移除ArchEcsModule ECS模块管理器
- 删除ArchSystemAdapter适配器基类
- 从ServiceModuleManager中移除ECS模块注册逻辑
- 从ArchitectureProperties中移除EnableEcs配置选项
- 删除ECS相关的单元测试文件
- 从项目文件中移除Arch和Arch.System包引用
- 从解决方案文件中移除ECS相关项目引用
- 更新项目配置文件中的目标框架和测试项目属性
2026-03-08 19:45:36 +08:00
gewuyou
23f186d395
Merge pull request #88 from GeWuYou/refactor/controllers-to-context-aware-architecture-access
...
refactor(docs): 修正文档中关于IController的描述
2026-03-08 11:39:51 +08:00
GeWuYou
25f7779b4e
refactor(docs): 将 Context 属性访问替换为扩展方法访问
...
- 将 Context.GetModel<T>() 调用替换为 this.GetModel<T>()
- 将 Context.GetSystem<T>() 调用替换为 this.GetSystem<T>()
- 将 Context.GetUtility<T>() 调用替换为 this.GetUtility<T>()
- 将 Context.SendCommand() 调用替换为 this.SendCommand()
- 将 Context.SendQuery() 调用替换为 this.SendQuery()
- 将 Context.SendEvent() 调用替换为 this.SendEvent()
- 将 Context.RegisterEvent<T>() 调用替换为 this.RegisterEvent<T>()
2026-03-08 11:37:31 +08:00
GeWuYou
1b9e81bbdb
refactor(docs): 将控制器实现转换为上下文感知模式
...
- 将 IController 实现改为使用 [ContextAware] 特性和 partial 类
- 移除手动实现的 GetArchitecture 方法
- 将架构交互方法从 this 调用改为 Context 调用
- 添加必要的 using 语句以支持新的架构访问方式
- 更新所有涉及模型、系统、工具和事件的架构访问代码
- 统一架构访问模式以提高代码一致性和可维护性
2026-03-08 11:03:02 +08:00
gewuyou
5190b7a463
Merge pull request #87 from GeWuYou/docs/technical-documentation-update
...
docs(config): 更新文档导航结构并添加新章节
2026-03-07 23:37:01 +08:00
GeWuYou
0d20a28385
fix(docs): 修正 API 参考链接路径并移除重复侧边栏配置
...
- 修正了 API 参考链接路径,移除了末尾多余的斜杠
- 移除了重复的 API 参考侧边栏配置项
- 确保导航链接的一致性和正确性
2026-03-07 23:34:11 +08:00
GeWuYou
eaa59c03c3
docs(config): 更新文档导航结构并添加新章节
...
- 添加最佳实践导航菜单和相关页面链接
- 在核心模块侧边栏增加生命周期、CQRS模式、协程系统等新条目
- 为游戏模块添加数据管理、场景系统、UI系统等功能链接
- 在Godot集成部分新增暂停系统、对象池和日志系统文档
- 将规则生成器重命名为ContextAware生成器
- 在教程部分增加暂停系统实践、数据迁移和单元测试等内容
- 新增API参考、常见问题、故障排查等文档分类
- 为最佳实践页面配置详细的子菜单项
2026-03-07 23:30:15 +08:00
gewuyou
8a070af51b
Merge pull request #86 from GeWuYou/docs/technical-documentation-update
...
docs(guide): 添加 ContextAware 生成器文档并更新相关链接
2026-03-07 23:15:06 +08:00
GeWuYou
740cc66ac4
docs: 更新源生成器文档并调整配置
...
- 移除 .claude 设置文件
- 重构枚举扩展生成器文档,更新 API 使用方式和配置选项
- 调整日志生成器文档,更新属性使用方式和配置参数
- 修改 Git 忽略规则添加 .claude/settings.json
- 更新代码示例和最佳实践指南
2026-03-07 23:13:21 +08:00
GeWuYou
4804b75215
test(PlayerController): 将测试方法转换为异步任务
...
- 将 TestPlayerController 方法从同步改为异步
- 使用 Task 类型替代 void 返回类型
- 为测试方法添加 async 关键字修饰符
2026-03-07 22:56:58 +08:00
GeWuYou
3dce243bcd
docs(source-generators): 修复上下文感知生成器文档中的错别字和链接
...
- 修复了代码注释中的错别字"生命期"为"生命周期"
- 移除了文档末尾的规则验证生成器链接引用
2026-03-07 22:55:37 +08:00
GeWuYou
6d398a515b
docs(guide): 添加 ContextAware 生成器文档并更新相关链接
...
- 新增 ContextAware 生成器完整文档,介绍自动实现 IContextAware 接口的功能
- 更新索引页面中的相关链接,替换规则生成器为 ContextAware 生成器
- 修改基础使用示例中的命名空间引用和代码实现细节
- 补充测试场景配置和多架构场景的使用说明
- 添加最佳实践和诊断信息相关内容
2026-03-07 22:51:42 +08:00
gewuyou
575dcdf27b
Merge pull request #85 from GeWuYou/docs/technical-documentation-update
...
docs(guidelines): 更新错误处理和移动端优化最佳实践
2026-03-07 22:12:35 +08:00
GeWuYou
28ad02dc80
docs(best-practices): 更新移动端优化代码示例
...
- 添加了图形 API 和多线程渲染的配置说明
- 增加了运行时可调整的性能设置选项
- 优化了纹理质量和阴影设置参数
- 添加了目标帧率和 VSync 配置
- 实现了基于设备性能的质量等级自动调整
- 改进了垃圾回收优化策略和相关注释说明
- 添加了设备性能检测的辅助方法
2026-03-07 22:10:14 +08:00
GeWuYou
8554f01423
docs(guidelines): 更新错误处理和移动端优化最佳实践
...
- 添加完整的错误处理最佳实践指南,涵盖Result<T>和Option<T>使用方式
- 补充移动端性能优化策略,包括纹理压缩、对象池、内存管理和电池优化
- 更新单元测试教程中的相关文档链接
- 完善错误处理层次结构和测试示例代码
- 增加移动端UI优化和平台适配最佳实践
2026-03-07 22:05:48 +08:00
gewuyou
519e3a480b
Merge pull request #84 from GeWuYou/docs/technical-documentation-update
...
Docs/technical documentation update
2026-03-07 17:45:19 +08:00
GeWuYou
9edf64193f
docs(architecture): 更新架构设计模式指南文档
...
- 将标题从"架构模式最佳实践"改为"架构设计模式指南"
- 添加全面的架构设计模式介绍和概述
- 新增MVC模式详细说明,包括概念、GFramework实现示例和最佳实践
- 新增MVVM模式详细说明,包括概念、GFramework实现示例和最佳实践
- 新增命令模式详细说明,包括概念、实现示例和撤销功能支持
- 新增查询模式详细说明,包括CQRS概念和复杂查询示例
- 新增事件驱动模式详细说明,包括事件定义和监听实现
- 新增依赖注入模式详细说明,包括构造函数注入示例
- 新增服务定位器模式详细说明,包括与依赖注入对比
- 新增对象池模式详细说明,包括通用对象池实现
- 新增状态模式详细说明,包括异步状态和状态机系统
- 补充模式选择与组合建议,针对小型、中型、大型项目提供不同方案
- 更新代码示例中的泛型语法格式,统一使用尖括号表示法
2026-03-07 17:32:26 +08:00
GeWuYou
739565d278
chore(build): 更新.gitignore配置以忽略AI相关和文档构建缓存文件
...
- 添加ai相关目录到忽略列表
- 忽略.omc/目录及其内容
- 忽略docs/.omc/目录
- 忽略docs/.vitepress/cache/目录
- 移除已删除的依赖文件和缓存文件
2026-03-07 17:12:11 +08:00
GeWuYou
a021941cab
docs(guidelines): 添加文档编写规范和配置设置
...
- 创建 DOCUMENTATION_STANDARDS.md 文件定义 Markdown 语法规范
- 添加泛型标记转义规则和 HTML 标签转义说明
- 提供内部链接验证规则和已存在文档路径列表
- 定义代码块规范和 Frontmatter 规范
- 添加文档结构规范和验证清单
- 配置 .claude/settings.json 启用 oh-my-claudecode 插件
2026-03-07 15:52:08 +08:00
GeWuYou
c969a9a022
docs(core): 修复文档中的泛型符号显示问题
...
- 修复了配置模块文档中 GetConfig、SetConfig、WatchConfig 方法的泛型符号
- 修复了 ECS 模块文档中 ArchSystemAdapter 的泛型符号显示
- 修复了函数式编程文档中 Option 和 Result 类型的泛型符号
- 修复了序列化和存储模块中各类方法的泛型符号显示
- 修正了存储模块文档中的序列化系统链接路径
- 修复了函数式编程教程中 Option 和 Result 的泛型符号显示
2026-03-07 15:51:47 +08:00
GeWuYou
84d7408bef
docs(tutorials): 添加系统实现教程并完善核心组件文档
...
- 新增协程系统、状态机、暂停系统、资源管理和存档系统教程
- 添加 Configuration 包详细使用说明文档
- 创建 ECS 系统集成指南,介绍 Arch.Core 集成方案
- 提供完整的组件定义、系统创建和实体管理示例
- 包含性能优化建议和最佳实践指导
2026-03-07 15:44:34 +08:00
GeWuYou
b4ef62c731
docs: 更新文档链接和相关资源引用
...
- 修改 resource.md 中 Godot 资源仓储链接为 Godot 扩展
- 更新 data.md 中相关文档链接,将存储和序列化系统替换为设置系统和 Godot 集成
- 将多个教程文档中的架构概览链接替换为快速开始链接
- 调整 save-system.md 中的相关文档列表,更新数据迁移和系统依赖链接
- 为 bun.lock 添加 configVersion 字段
2026-03-07 14:00:35 +08:00
GeWuYou
b3838ce8c7
docs(godot): 添加 Godot 架构集成和场景系统文档
...
- 新增 Godot 架构集成文档,介绍 AbstractArchitecture 和 ArchitectureAnchor
- 添加 Godot 场景系统文档,涵盖 SceneBehavior 和场景生命周期管理
- 包含数据与存档系统文档,介绍 IDataRepository 和 ISaveRepository 接口
- 提供完整的代码示例和最佳实践指南
- 覆盖多架构支持、热重载和场景参数传递等高级功能
- 包含常见问题解答和相关文档链接
2026-03-07 13:02:19 +08:00
gewuyou
23f70a6e5a
Merge pull request #83 from GeWuYou/feat/events-enhanced-bus
...
引入增强版事件总线,支持可过滤事件与弱事件,并可选地对事件发布与处理进行统计。
新特性:
新增 EnhancedEventBus,支持标准、优先级、可过滤和弱事件的发布与订阅,并提供可选的统计功能。
引入可过滤事件,支持可插拔的 IEventFilter 实现,包括基于谓词的过滤器和采样过滤器。
新增事件统计抽象及实现,用于跟踪发布/处理/失败计数和监听器指标,并支持生成统计报告。
测试:
新增全面的单元测试覆盖弱事件行为,包括与 GC 的交互、清理、注销以及与统计功能的集成。
新增基于谓词和采样事件过滤器的测试,包括多个过滤器、移除/清空行为以及对无效配置的校验。
新增事件统计测试,用于验证计数器、按事件类型的指标、重置行为、报告输出以及线程安全性。
2026-03-06 17:04:22 +08:00
GeWuYou
c5bd08acfd
fix(events): 修正优先级事件触发传播行为
...
- 将优先级事件的传播模式从 Continue 修改为 All
- 确保事件能够正确传递到所有监听器
2026-03-06 16:58:27 +08:00
GeWuYou
5ef464c484
feat(event): 添加事件统计功能和优化性能
...
- 在EasyEventGeneric中添加GetListenerCount方法获取监听器数量
- 重新排列EnhancedEventBus中字段顺序以优化内存布局
- 为所有Send方法添加发布统计记录功能
- 实现事件处理器包装以添加统计功能,包括成功处理和失败记录
- 添加监听器数量统计更新机制,自动跟踪注册和注销事件
- 重构FilterableEvent中的过滤逻辑以减少锁持有时间
- 在PriorityEvent中添加GetListenerCount方法获取总监听器数量
- 移除EventStatistics中的过时字段并优化ActiveEventTypes和ActiveListeners计算
- 清理StatisticsEventDecorator中的并发问题和实现装饰器模式
2026-03-06 16:40:54 +08:00
GeWuYou
e738e59a58
feat(events): 添加增强事件总线支持过滤器和统计功能
...
- 实现 EnhancedEventBus 支持过滤器、弱引用事件和统计功能
- 添加 FilterableEvent 和 WeakEvent 支持事件过滤和弱引用订阅
- 实现 PredicateEventFilter 和 SamplingEventFilter 事件过滤器
- 添加 EventStatistics 统计事件发布、处理和失败次数
- 实现完整的单元测试验证过滤器和统计功能
2026-03-06 16:09:40 +08:00
gewuyou
1b92bda8ba
Merge pull request #82 from GeWuYou/feat/coroutine-enhancements
...
为调度器新增协程分组、优先级与统计能力,以及相应的抽象与测试。
New Features:
引入协程优先级等级,并在调度器中按优先级顺序执行协程。
添加协程分组支持,用于批量暂停、恢复、终止以及计数操作。
提供协程统计接口及实现,用于跟踪数量、执行时间指标以及按优先级/标签划分的数据,并可在调度器上按需启用。
暴露一个可控的 FakeTimeSource 实现,用于驱动可确定性的协程测试。
Enhancements:
扩展协程元数据和槽位以存储优先级、分组信息以及开始时间戳,并相应更新调度器生命周期处理逻辑。
Tests:
添加单元测试,覆盖协程统计行为与报告、分组管理操作以及基于优先级的执行顺序。
2026-03-06 13:13:54 +08:00
GeWuYou
e5bd972ee7
fix(coroutine): 修复协程调度器中的潜在异常问题
...
- 在KillByTag方法中创建句柄数组副本以避免集合被修改的异常
- 修复Complete方法的缩进格式问题
- 为WaitCommandSwitch添加默认分支以处理未知类型的等待指令
2026-03-06 13:07:18 +08:00
GeWuYou
74f27ddfd5
refactor(coroutine): 优化协程调度器中的暂停计数统计
...
- 引入 _pausedCount 字段直接跟踪暂停协程数量
- 将统计信息中的 ActiveCount 和 PausedCount 改为线程安全的原子操作
- 在暂停和恢复协程时直接更新 _pausedCount 计数
- 修复 KillGroup 方法中的并发修改异常问题
- 重置统计信息时使用原子操作清零计数字段
2026-03-06 12:59:05 +08:00
GeWuYou
06114db8bd
refactor(coroutine): 修改协程优先级枚举的基础类型
...
- 将 CoroutinePriority 枚举的基础类型从 byte 移除
- 优化枚举类型的定义方式
2026-03-06 12:36:50 +08:00
GeWuYou
e5e3a1c0ca
feat(coroutine): 添加协程分组管理和优先级支持
...
- 实现协程分组功能,支持批量暂停、恢复和终止协程
- 添加协程优先级系统,支持从最低到最高的5个优先级级别
- 引入协程统计功能,跟踪启动、完成、失败数量及执行时间
- 添加FakeTimeSource用于协程测试的时间控制
- 实现按优先级排序的协程执行机制
- 添加协程执行时间戳记录功能
- 实现完整的协程统计报告生成功能
2026-03-06 12:34:12 +08:00
GeWuYou
16d8cad4f3
refactor(ioc): 优化依赖注入容器的优先级排序实现
...
- 修改 MicrosoftDiContainer 中 GetAllByPriority 方法的排序逻辑,使用 OrderBy 确保稳定排序
- 修正注释中的中文描述,明确优先级排序规则
- 将 PriorityUsageAnalyzer 中的硬编码诊断规则替换为统一的 PriorityDiagnostic
- 在 PriorityGenerator 中添加对嵌套类的支持检查,报告 GF_Priority_005 错误
- 改进生成文件的命名策略,使用完整元数据名称避免冲突
- 更新 AnalyzerReleases.Unshipped.md 文档,添加新的诊断规则说明
- 移除 PriorityGeneratorSnapshotTests 中关于嵌套类的测试用例
2026-03-05 22:52:59 +08:00
GeWuYou
330bd8b0b0
feat(generator): 添加优先级源代码生成器和相关分析器
...
- 新增 PriorityGenerator 源生成器,自动生成 IPrioritized 接口实现
- 添加 PriorityAttribute 特性,用于标记类的优先级值
- 实现 PriorityUsageAnalyzer 分析器,检测优先级使用建议
- 添加预定义的 PriorityGroup 常量,提供标准优先级分组
- 在 AnalyzerReleases.Unshipped.md 中注册新的诊断规则
- 更新项目依赖,升级 Meziantou.Analyzer 和 Polyfill 版本
- 为测试项目添加源生成器项目引用
- 添加 PriorityGenerator 的快照测试用例
2026-03-05 22:52:59 +08:00
GeWuYou
f8c39e46a5
feat(architecture): 添加按优先级获取服务实例的功能
...
- 在 ArchitectureContext 中添加 GetServicesByPriority、GetSystemsByPriority、
GetModelsByPriority 和 GetUtilitiesByPriority 方法
- 在 ContextAwareServiceExtensions 中添加对应的扩展方法支持按优先级获取实例
- 在 MicrosoftDiContainer 中实现 GetAllByPriority 方法和 SortByPriority 排序逻辑
- 在抽象层定义 IPrioritized 接口用于标记可排序的服务组件
- 为 PauseToken 添加完整的相等性比较和字符串转换方法
- 添加全面的单元测试验证优先级排序功能的正确性
2026-03-05 22:52:59 +08:00
GeWuYou
b4d17edeee
refactor(core): 移除废弃的同步命令查询扩展方法并简化类型引用
...
- 移除了 ContextAwareCommandExtensions 中废弃的 SendCommand 同步方法
- 移除了 ContextAwareQueryExtensions 中废弃的 SendQuery 同步方法
- 简化了 ICommand 和 IQuery 的类型引用,移除冗长的命名空间前缀
- 保持了异步命令和查询方法的功能完整性
2026-03-05 22:52:39 +08:00
dependabot[bot]
71b5831261
Bump Meziantou.Polyfill from 1.0.101 to 1.0.103
...
---
updated-dependencies:
- dependency-name: Meziantou.Polyfill
dependency-version: 1.0.103
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Polyfill
dependency-version: 1.0.103
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Polyfill
dependency-version: 1.0.103
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Polyfill
dependency-version: 1.0.103
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Polyfill
dependency-version: 1.0.103
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 21:59:59 +08:00
dependabot[bot]
a5d3289f5c
Bump Meziantou.Analyzer from 3.0.17 to 3.0.19
...
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 21:59:46 +08:00
dependabot[bot]
9deae03da0
chore(deps): bump actions/upload-artifact from 6 to 7
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 21:59:23 +08:00
dependabot[bot]
6d67a125cb
chore(deps): bump trufflesecurity/trufflehog from 3.93.4 to 3.93.7
...
Bumps [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog ) from 3.93.4 to 3.93.7.
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases )
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/v3.93.4...v3.93.7 )
---
updated-dependencies:
- dependency-name: trufflesecurity/trufflehog
dependency-version: 3.93.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 21:59:15 +08:00
dependabot[bot]
90796543b7
chore(deps): bump oxsecurity/megalinter from 9.3.0 to 9.4.0
...
Bumps [oxsecurity/megalinter](https://github.com/oxsecurity/megalinter ) from 9.3.0 to 9.4.0.
- [Release notes](https://github.com/oxsecurity/megalinter/releases )
- [Changelog](https://github.com/oxsecurity/megalinter/blob/main/CHANGELOG.md )
- [Commits](https://github.com/oxsecurity/megalinter/compare/v9.3.0...v9.4.0 )
---
updated-dependencies:
- dependency-name: oxsecurity/megalinter
dependency-version: 9.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 21:59:05 +08:00
GeWuYou
bbb91d597a
docs: 添加协程系统、CQRS与Mediator、生命周期管理、资源管理系统文档
...
- 新增协程系统文档,介绍协程调度器、等待指令、基本用法和最佳实践
- 新增CQRS与Mediator文档,涵盖命令查询职责分离、处理器实现和管道行为
- 新增生命周期管理文档,说明同步异步初始化和销毁机制
- 新增资源管理系统文档,介绍资源加载、缓存和引用计数管理功能
2026-03-05 21:53:55 +08:00
GeWuYou
ae8c3e4fc4
feat(logging): 扩展ILogAppender接口并实现时间提供者注入
...
- 将ILogAppender接口继承IDisposable以支持资源释放
- 添加ITimeProvider和SystemTimeProvider接口及实现类
- 创建FakeTimeProvider用于测试时间控制
- 修改SamplingFilter支持时间提供者注入和最大日志记录器数量限制
- 为SamplingFilter添加过期状态清理功能
- 修改StatisticsAppender使用时间提供者并实现IDisposable
- 更新相关单元测试以使用FakeTimeProvider进行精确时间控制
- 在测试类中为模拟追加器添加Dispose方法实现
2026-03-05 16:26:47 +08:00
GeWuYou
cd407dc93c
test(logging): 添加采样过滤器和统计附加器的单元测试
...
- 为SamplingFilter添加完整的单元测试覆盖采样率、时间窗口、线程安全等功能
- 为StatisticsAppender添加全面的单元测试验证统计计算、错误率跟踪、报告生成功能
- 测试各个日志级别和记录器的独立状态维护
- 验证多线程环境下的数据一致性
- 包含边界条件和异常情况的测试用例
2026-03-05 16:26:47 +08:00
GeWuYou
c5ed053f2c
feat(logging): 添加日志采样过滤器和统计追加器功能
...
- 实现 SamplingFilter 类用于限制高频日志输出,支持线程安全的采样控制
- 添加 StatisticsAppender 类用于收集日志指标,包括总数量、错误率、级别分布等统计信息
- 提供时间窗口内的采样机制,可配置采样率和时间窗口参数
- 实现完整的统计报告生成功能,支持按级别和日志记录器分类展示
- 添加线程安全的数据结构确保并发环境下的数据一致性
- 提供统计重置和数据查询接口便于监控和调试
2026-03-05 16:26:47 +08:00
deepsource-autofix[bot]
c9617fba8a
refactor: use equality operators when evaluating bool?
...
This PR replaces the use of null-coalescing defaults on nullable booleans with explicit equality checks across instance control methods. The changes make the intent clearer by ensuring only a true result is treated as a positive outcome.
- Consider using the equality operators when evaluating `bool?`: DeepSource flagged instances where `GetInstance(...)?... ?? false` was used to coerce a nullable bool to false implicitly. We replaced these patterns in `PauseOnInstance`, `ResumeOnInstance`, and `KillOnInstance` with `== true` comparisons. Using `== true` clearly indicates that only an explicit true value returns a positive result and avoids ambiguity when the value is null.
> This Autofix was generated by AI. Please review the change before merging.
2026-03-05 14:01:42 +08:00
GeWuYou
41592013ec
refactor(GFramework.Core): 移除 ResultState 枚举的字节类型声明
...
- 移除了 ResultState 枚举的 byte 类型声明,改用默认整型
- 简化了枚举类型的定义,提高代码可读性
2026-03-05 13:12:21 +08:00
GeWuYou
e96b5f24b4
refactor(godot): 将异步方法重命名为遵循Async约定的方法名
...
- 将WaitUntilReady方法重命名为WaitUntilReadyAsync
- 将AddChildX方法重命名为AddChildXAsync
- 更新所有相关文档中的方法调用引用
- 修改架构层锚点等待方法调用为异步版本
- 更新测试代码中的方法调用以匹配新的方法名
- 调整函数式异步扩展方法命名约定
- 统一所有异步扩展方法的命名规范
2026-03-05 12:54:59 +08:00
GeWuYou
8db379c53f
refactor(mediator): 移除自动生成的程序集引用和中介者实现代码
...
- 删除了 AssemblyReference.g.cs 中的程序集引用生成代码
- 移除了 Mediator.g.cs 中的中介者依赖注入扩展实现
- 清理了内部消息处理器基类和包装器的自动生成代码
- 移除了容器探测器和元数据相关的生成代码
- 删除了中介者主类的自动生成实现
2026-03-05 08:52:38 +08:00
GeWuYou
54bed12056
fix(config): 修复配置管理器变更检测和资源配置优化
...
- 修改 ConfigurationManager 中的 AddOrUpdate 逻辑,先获取旧值再更新以正确检测变更
- 只有在配置值真正发生变化时才触发监听器回调
- 更新异常日志记录方式,移除冗余的标签前缀
- 将 ConfigWatcherUnRegister 移动到正确的命名空间
- 修复 ResourceManager 中的引用计数逻辑,移除重复的 AddReference 调用
- 优化资源加载和卸载时的异常处理和日志记录
- 更新测试注释以反映正确的引用计数行为
2026-03-05 08:34:05 +08:00
GeWuYou
7919c93f44
feat(resource): 添加资源管理系统和日志集成
...
- 实现了完整的资源管理系统,包括资源加载、缓存和卸载功能
- 添加了 IResourceHandle、IResourceLoader、IResourceManager 和 IResourceReleaseStrategy 接口定义
- 实现了 AutoReleaseStrategy 和 ManualReleaseStrategy 两种资源释放策略
- 创建了 ResourceCache 缓存系统和 ResourceHandle 资源句柄管理
- 在 ConfigurationManager 和 CoroutineScheduler 中集成了 ILogger 日志功能
- 添加了全面的 ResourceManagerTests 单元测试覆盖各种使用场景
2026-03-05 08:34:05 +08:00
GeWuYou
d8cd22a424
feat(configuration): 添加配置管理器功能
...
- 实现了 IConfigurationManager 接口定义配置管理契约
- 创建 ConfigurationManager 类提供线程安全的配置存储和访问
- 添加配置的增删改查功能支持泛型类型转换
- 实现配置变更监听机制和取消注册功能
- 提供 JSON 格式导入导出和文件读写功能
- 添加完整的单元测试覆盖并发场景和边界条件
- 实现 ConfigWatcherUnRegister 类处理监听器注销逻辑
2026-03-05 08:34:05 +08:00
GeWuYou
ffaace4538
refactor(core): 重构上下文感知命令和查询扩展方法
...
- 将原有的 ContextAwareCommandExtensions 中的 Mediator 相关方法分离到新的 ContextAwareMediatorCommandExtensions 类中
- 将原有的 ContextAwareQueryExtensions 中的 Mediator 相关方法分离到新的 ContextAwareMediatorQueryExtensions 类中
- 移除 ContextAwareCommandExtensions 中的异步命令方法 SendCommandAsync
- 移除 ContextAwareQueryExtensions 中的异步查询方法 SendQueryAsync
- 修复了 ContextAwareCommandExtensions 中的泛型类型参数引用问题
- 统一了代码格式和命名空间引用
- 保持了原有功能的向后兼容性
2026-03-05 08:18:57 +08:00
GeWuYou
bde1af2c2e
feat(architecture): 添加批量获取组件实例的功能
...
- 在 ArchitectureContext 中添加 GetServices、GetSystems、GetModels 和 GetUtilities 方法
- 扩展 IArchitectureContext 接口以支持批量获取各类组件实例
- 在测试类中实现相应的批量获取功能
- 将原有的 ContextAwareExtensions 拆分为多个专门的扩展类文件
- 新增 ContextAwareCommandExtensions、ContextAwareEnvironmentExtensions 和 ContextAwareEventExtensions 等扩展类
- 提供了更完善的架构上下文组件访问能力
2026-03-05 08:18:57 +08:00
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
GeWuYou
b417ece73a
chore(dependencies): 移除 LanguageExt 相关依赖和引用
...
- 从 GFramework.Game 项目中移除 LanguageExt.Core 包引用
- 从 GFramework.Godot 项目中移除 LanguageExt.Core 包引用
- 从全局引用文件中移除 LanguageExt.Common 引用
- 从全局引用文件中移除 LanguageExt.Effects 引用
- 从全局引用文件中移除 LanguageExt.Pretty 引用
- 保留必要的 System.Threading.Tasks 引用
2026-03-03 22:11:13 +08:00
GeWuYou
1df4e78cdc
style(tests): 统一事件测试中的lambda表达式格式
...
- 在EasyEvent_UnRegister_Should_Remove_Handler方法中将lambda表达式改为块状格式
- 在OrEventTests测试中将lambda表达式改为块状格式
- 保持代码风格一致性,所有lambda表达式都使用大括号包围
2026-03-02 22:01:22 +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
fc93ab6e4c
chore(config): 添加测试文件排除配置到 deepsource
...
- 排除 **/*.Tests.cs 模式
- 排除 **/*Test.cs 模式
- 排除 **/tests/** 目录
- 排除 **/*Tests.cs 模式
- 排除 **/Tests/** 目录
2026-03-02 12:42:09 +08:00
GeWuYou
a53898dd43
feat(rule): 添加上下文提供者重置功能
...
- 添加 ResetContextProvider 方法用于重置上下文提供者为默认值
- 为方法添加 XML 文档注释说明用途
- 实现测试清理相关的上下文管理功能
2026-03-02 12:42:09 +08:00
GeWuYou
3ecce110ed
feat(architecture): 添加架构上下文提供者和相关测试
...
- 新增 IArchitectureContextProvider 接口定义
- 实现 GameContextProvider 类提供上下文获取功能
- 添加 GameContext 静态类用于获取架构上下文
- 创建 ContextProviderTests 测试上下文提供者功能
- 实现 RegistryInitializationHookBase 抽象基类的完整测试
- 修改 IArchitectureContext.GetUtility 方法为虚拟方法以支持重写
2026-03-02 12:42:09 +08:00
GeWuYou
0ed8edf015
refactor(context): 重构上下文管理实现
...
- 引入 IArchitectureContextProvider 接口解耦上下文获取逻辑
- 创建 GameContextProvider 作为默认上下文提供者
- 添加 ScopedContextProvider 支持多架构实例场景
- 修改源代码生成器使用上下文提供者模式
- 增加 SetContextProvider 方法支持测试和多架构场景
- 添加 RegistryInitializationHookBase 简化注册表初始化逻辑
2026-03-02 12:42:09 +08:00
dependabot[bot]
f98c7f16cf
chore(deps): bump trufflesecurity/trufflehog from 3.93.3 to 3.93.4
...
Bumps [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog ) from 3.93.3 to 3.93.4.
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases )
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/v3.93.3...v3.93.4 )
---
updated-dependencies:
- dependency-name: trufflesecurity/trufflehog
dependency-version: 3.93.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 21:54:36 +08:00
dependabot[bot]
88e65bc276
Bump Meziantou.Analyzer from 3.0.12 to 3.0.17
...
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 21:53:47 +08:00
dependabot[bot]
d8ac30d1b6
Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0
...
---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 18.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 18.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 21:52:42 +08:00
GeWuYou
13229f1c91
refactor(logging): 优化文件追加器测试中的资源管理
...
- 重构 Constructor_ShouldCreateDirectoryIfNotExists 测试方法名称为更描述性的格式
- 使用 using 语句块确保 FileAppender 资源得到正确释放
- 改进测试代码结构以提高可读性和资源清理可靠性
2026-02-26 19:57:42 +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
abdf4cc690
test(logging): 添加日志系统单元测试
...
- 为 AsyncLogAppender 添加完整功能测试,包括异步写入、缓冲区管理、并发处理等场景
- 为 CachedLoggerFactory 添加缓存机制测试,验证相同名称和级别的日志记录器重用
- 为 CompositeFilter 添加过滤器组合测试,验证多个过滤器的逻辑组合功能
- 为 CompositeLogger 添加复合日志记录器测试,验证多追加器写入和级别过滤功能
- 为 ConsoleAppender 添加控制台追加器测试,验证格式化输出和过滤器支持
- 为 DefaultLogFormatter 添加默认格式化器测试,验证基本格式化和异常处理功能
- 为 FileAppender 添加文件追加器测试,验证文件写入、目录创建和追加模式功能
- 为 JsonLogFormatter 添加 JSON 格式化器测试,验证 JSON 输出和属性序列化功能
- 为 LogContext 添加日志上下文测试,验证属性推送和作用域管理功能
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
445513b784
docs(tests): 为测试文件添加XML文档注释
...
- 为AsyncExtensionsTests中的所有测试方法添加描述性注释
- 为CollectionExtensionsTests中的所有测试方法添加描述性注释
- 为DelayTests类和其中的测试方法添加描述性注释
- 为GuardExtensionsTests中的所有测试方法添加描述性注释
- 为MediatorComprehensiveTests中的所有测试方法添加描述性注释
- 为NumericExtensionsTests中的所有测试方法添加描述性注释
- 为OptionTests中的所有测试方法添加描述性注释
- 为PipeExtensionsTests中的所有测试方法添加描述性注释
2026-02-26 14:45:39 +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
ee3f8c97df
fix(tests): 修正异步扩展测试中的异常类型断言
...
- 将 OperationCanceledException 替换为 TaskCanceledException 进行正确的异常断言
2026-02-25 17:28:52 +08:00
GeWuYou
cddd1fa627
test(extensions): 更新异步扩展方法测试以使用直接调用方式
...
- 移除旧的Arrange步骤,直接在Act步骤中调用AsyncExtensions.WithTimeout方法
- 添加新的测试用例验证超时时内部任务能够被正确取消
- 修改现有测试用例适配新的方法调用方式
- 简化异常处理相关的断言逻辑
2026-02-25 17:28:52 +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
66da08e3e1
docs(skill): 更新技能文档
...
- 修改了 SKILL.md 文件内容移除了BOM
2026-02-25 09:28:33 +08:00
GeWuYou
8aba6c6fad
refactor(scripts): 重构脚本以使用共享模块配置
...
- 将模块配置提取到共享的 module-config.sh 文件中
- 在 batch-generate.sh 中使用 get_source_dir 和 is_valid_module 函数
- 更新可用模块列表显示为动态获取
- 在 generate-examples.sh 中添加命名空间参数和详细的示例生成指南
- 优化 update-vitepress-nav.sh 中的用户界面和添加重复检查
- 修改 validate-all.sh 中的代码块验证以避免中断流程
- 改进 validate-frontmatter.sh 中的 frontmatter 检测逻辑
- 将 find 命令结果存储为数组以提高处理准确性
2026-02-25 09:28:33 +08:00
GeWuYou
bb449259d3
feat(docs): 添加 VitePress 文档生成技能系统
...
- 新增 .claude/skills 目录及完整的文档生成技能系统
- 添加批量 API 文档生成脚本支持模块化文档创建
- 添加 API 文档、功能指南和教程生成模板与示例
- 添加 C# XML 注释解析和代码示例生成工具
- 添加文档验证和导航更新脚本确保质量
- 更新 .gitignore 配置排除本地设置文件
2026-02-25 09:28:33 +08:00
GeWuYou
7c71ed154e
chore(docs): 更新 .NET 版本标识从 6.0+ 到 8.0+
...
- 修改 README.md 中的 .NET badge 版本号
- 将 .NET 支持版本更新为最新的 8.0+ 标准
2026-02-24 15:20:31 +08:00
GeWuYou
94d3f0ba27
fix(storage): 修复文件存储和存档仓库中的路径处理问题
...
- 在 FileStorage 中过滤掉以点开头的隐藏目录
- 优化 SaveRepository 中的存档存在性检查逻辑
- 移除冗余的 ScopedStorage 创建操作
- 删除过时的 SaveRepository 使用指南文档
2026-02-24 15:20:31 +08:00
GeWuYou
2d4527d066
feat(storage): 添加目录操作功能和存档仓库系统
...
- 在IStorage接口中添加目录操作相关方法:ListDirectoriesAsync、
ListFilesAsync、DirectoryExistsAsync、CreateDirectoryAsync
- 为FileStorage和GodotFileStorage实现目录操作功能
- 添加ScopedStorage的目录操作委托实现
- 新增ISaveRepository接口定义基于槽位的存档系统
- 实现SaveRepository类提供完整的存档管理功能
- 添加SaveConfiguration类用于存档系统配置
2026-02-24 15:20:31 +08:00
GeWuYou
6a99b54d6e
refactor(repository): 更新仓储接口继承实用工具接口
...
- 添加 GFramework.Core.Abstractions.utility 命名空间引用
- 修改 IRepository 接口继承 IUtility 接口
- 为仓储接口添加实用工具功能支持
2026-02-23 22:56:12 +08:00
GeWuYou
f8a1c99b99
refactor(GodotResourceRepository): 重构资源仓库路径加载功能
...
- 添加ILogger用于日志记录替换GD.PushWarning
- 修改GetAll方法返回ToArray()副本而非直接Values引用
- 分离路径加载方法为非递归和递归两个独立接口
- 新增LoadFromPath和LoadFromPathRecursive的重载方法
- 提取内部处理逻辑到ProcessEntry私有方法
- 优化目录遍历逻辑并改进错误处理机制
- 添加重复键检测和资源加载失败的日志记录
2026-02-23 22:33:29 +08:00
GeWuYou
4fd90e45a1
feat(godot): 添加资源仓储功能支持
...
- 新增 IHasKey 接口定义键值访问契约
- 新增 IRepository 接口提供通用数据仓储功能
- 实现 GodotResourceRepository 类支持资源的存储和加载
- 添加 IResourceRepository 接口扩展通用仓储功能
- 实现从路径批量加载 Godot 资源的功能
- 支持递归加载子目录中的资源文件
- 提供 .tres 和 .res 文件的自动识别和加载
2026-02-23 22:33:29 +08:00
GeWuYou
7046c2cd47
feat(services): 添加内置模块重复注册检查功能
...
- 在 ServiceModuleManager 中添加 _builtInModulesRegistered 标志位
- 实现重复注册检测逻辑,避免内置模块被多次注册
- 更新 RegisterBuiltInModules 方法的文档注释
- 在销毁所有模块时重置注册标志位
- 优化方法参数命名和描述信息
- 改进代码结构和注释内容
2026-02-23 13:53:29 +08:00
GeWuYou
c401d63a05
docs(IServiceModuleManager): 为服务模块管理器接口添加完整文档注释
...
- 为接口添加总体功能描述注释
- 为RegisterModule方法添加参数说明注释
- 为RegisterBuiltInModules方法添加容器和属性参数说明注释
- 为GetModules方法添加返回值说明注释
- 为InitializeAllAsync方法添加异步模式参数和返回值说明注释
- 为DestroyAllAsync方法添加返回值说明注释
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
ed187473dd
test(architecture): 更新架构服务测试以验证内置模块注册
...
- 添加了对ArchitectureProperties和GFramework.Core.services的引用
- 实现了RegisterBuiltInServices方法用于注册内置服务
- 修改了构造函数测试以验证容器初始化而非所有服务
- 更新了EventBus、CommandExecutor和QueryExecutor的测试以验证注册后可用性
- 添加了AsyncQueryExecutor可用性测试
- 添加了未注册服务时EventBus为null的测试
- 在多个实例测试中添加了模块注册以确保独立性
- 添加了ModuleManager属性非空测试
- 实现了ECS配置开关控制模块注册的测试
- 移除了TestArchitectureContextV3中的硬编码服务实现
- 更新了ECS相关测试以直接注册EcsWorld到容器中
- 改进了ECS世界获取失败时的错误消息
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
808d3beecf
refactor(abstractions): 更新 IsExternalInit 类型定义
...
- 将预处理器条件从具体版本改为 !NET5_0_OR_GREATER
- 修改类访问修饰符为 internal
- 更新 XML 注释文档,添加对 .NET 5.0+ 版本的说明
- 移除中文注释中的特殊字符描述
- 优化代码可读性和维护性
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
9ccfd7f49e
refactor(architecture): 将销毁方法改为异步实现
...
- 将Destroy方法替换为DestroyAsync异步方法
- 更新锚点绑定以使用异步销毁任务
- 在异步方法中保持相同的销毁逻辑
- 确保扩展组件正确分离和清理
- 维持原有的继承关系和调用链路
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
35845be93f
test(ecs): 添加高级ECS集成测试并完善测试覆盖
...
- 新增EcsAdvancedTests类,包含完整的ECS系统测试套件
- 添加EcsWorld高级功能测试,包括实体创建、销毁和组件操作
- 实现EcsSystemRunner生命周期控制测试,验证启动停止行为
- 添加多系统交互测试,验证优先级执行顺序
- 完善组件操作测试,涵盖增删改查场景
- 集成ArchitectureContext与ECS的测试用例
- 添加依赖注入容器的ECS系统注册测试
- 补充系统运行器异常处理和资源清理测试
2026-02-23 12:27:16 +08:00
GeWuYou
6ee7a52326
fix(mediator): 修复参数验证错误消息中的字符串拼接问题
...
- 修正了 Name 参数为空时错误消息中的字符串拼接格式
- 在错误消息中添加了适当的空格分隔符
2026-02-23 12:27:16 +08:00
GeWuYou
5f3fac2147
test(ecstests): 添加ECS测试并优化中介者测试的异常断言
...
- 添加EcsBasicTests类,实现ECS基础功能测试包括实体创建、组件设置、系统更新等
- 添加EcsIntegrationTests类,实现ECS集成测试包括性能基准测试和优先级调度验证
- 修改MediatorComprehensiveTests中的断言,使用OperationCanceledException替代TaskCanceledException
- 移除流测试中的冗余取消令牌传递,简化异步流的取消测试逻辑
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
d653994ded
fix(ui): 修复UI过渡流水线中的空引用异常
...
- 添加空值检查避免FromUiKey为null时的日志记录错误
- 确保流水线执行时参数安全处理
2026-02-21 08:59:56 +08:00
GeWuYou
608251047c
refactor(scene): 将场景路由异步方法改为await调用
...
- 将SceneRouterBase中的AfterChange方法改为异步方法AfterChangeAsync
- 修改SceneRouterBase中的场景切换流程使用await调用异步方法
- 移除后台线程执行,直接使用同步await调用
- 更新日志记录逻辑,优化调试信息输出
- 简化异常处理流程,统一异步执行模式
2026-02-21 08:59:56 +08:00
GeWuYou
7015ba118d
fix(registries): 修复 Values 方法返回空集合的问题
...
- 修复了当 Map.Values 无法转换为 IReadOnlyCollection<TValue> 时返回空集合的问题
- 现在正确地将 Map.Values 转换为 List 后再创建 ReadOnlyCollection
- 确保 Values 方法始终返回包含实际数据的集合而不是空集合
2026-02-20 22:52:56 +08:00
GeWuYou
a4b3bca1c1
feat(registries): 扩展注册表接口功能并实现基础类
...
- 移除 IRegistry 接口中的 in 泛型约束
- 添加 Unregister 方法用于移除指定键的项
- 添加 GetAll 方法用于获取所有键值对
- 添加 Values 方法用于获取所有注册值
- 添加 Keys 属性用于获取所有键
- 添加 Count 属性用于获取项的数量
- 在 KeyValueRegistryBase 中实现新增的接口方法
- 添加 System.Collections.ObjectModel 引用支持只读集合
2026-02-20 22:52:56 +08:00
GeWuYou
6b51c04deb
feat(scene): 添加环绕场景过渡处理器注册功能
...
- 实现 RegisterAroundHandler 方法用于注册环绕场景过渡处理器
- 实现 UnregisterAroundHandler 方法用于注销环绕场景过渡处理器
- 添加处理器选项配置参数支持
- 提供完整的环绕处理器生命周期管理功能
2026-02-20 22:32:40 +08:00
GeWuYou
29d05e099b
chore(deps): 更新项目依赖包版本
...
- 将 Meziantou.Analyzer 从 2.0.302 版本更新到 3.0.9 版本
- 将 Godot.SourceGenerators 从 4.6.0 版本更新到 4.6.1 版本
- 在多个项目文件中统一更新了代码分析器依赖版本
2026-02-20 20:31:12 +08:00
dependabot[bot]
85ef0967a7
Bump GodotSharp and GodotSharpEditor
...
Bumps GodotSharp from 4.6.0 to 4.6.1
Bumps GodotSharpEditor from 4.6.0 to 4.6.1
---
updated-dependencies:
- dependency-name: GodotSharp
dependency-version: 4.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: GodotSharpEditor
dependency-version: 4.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 20:22:09 +08:00
dependabot[bot]
fad5ea4f1c
Bump Meziantou.Analyzer from 2.0.299 to 2.0.302
...
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.302
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.302
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.302
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.302
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.302
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 20:21:52 +08:00
dependabot[bot]
3f0a2f5bda
Bump NUnit from 4.4.0 to 4.5.0
...
---
updated-dependencies:
- dependency-name: NUnit
dependency-version: 4.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: NUnit
dependency-version: 4.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 20:21:40 +08:00
GeWuYou
905dbea964
docs(license): 添加 More-Effective-Godot-Coroutines 许可证文件
...
- 添加 MIT 许可证文本文件
- 包含版权声明和许可条款
- 确保第三方库许可证合规性
2026-02-17 21:52:14 +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
058dff010c
refactor(tests): 移除架构服务测试中的未实现方法
...
- 从 ArchitectureServicesTests 类中删除 QueryAsync 方法
- 从 ArchitectureServicesTests 类中删除 PublishEventAsync 方法
- 从 GameContextTests 类中删除 QueryAsync 方法
- 从 GameContextTests 类中删除 PublishEventAsync 方法
- 清理相关的方法签名和异常抛出代码
- 简化测试类结构,移除不必要的接口实现
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
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
7552337b3f
feat(godot): 添加协程扩展功能支持Mediator模式
...
- 新增ContextAwareCoroutineExtensions类,提供IContextAware接口的协程扩展方法
- 实现RunCommandCoroutine、RunQueryCoroutine和RunPublishCoroutine方法
- 将原有CoroutineExtensions重命名为CoroutineNodeExtensions并迁移相关功能
- 添加文件头版权信息到新的协程扩展类
- 重构协程生命周期管理方法,包括RunCoroutine和CancelWith系列方法
- 移除测试文件中关于日志行为的占位测试用例
2026-02-16 19:28:27 +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
d3ffcbc7bf
refactor(tests): 移除状态机测试中的重复代码
...
- 删除了 StateMachineSystemTests.cs 中关于 ChangeTo 方法的基本功能测试
- 删除了 StateMachineTests.cs 中关于状态切换、注册注销等基础功能的测试用例
- 保留了异步操作相关的测试方法以简化测试套件
- 减少了测试文件的代码量并提高维护效率
2026-02-15 22:59:44 +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
e24aacc4bc
refactor(ui): 将页面行为接口中的原始对象属性重命名为视图属性
...
- 将 IUiPageBehavior 接口中的 Original 属性重命名为 View
- 更新 UiRouterBase 中的日志输出,使用 View 属性替代 Original 属性
- 在 CanvasItemUiPageBehaviorBase 中将属性实现从 Original 改为 View
- 相应更新接口文档注释,明确表示返回页面视图实例
2026-02-15 22:07:49 +08:00
GeWuYou
323976677c
refactor(ui): 将View属性重命名为Original以统一接口设计
...
- 将IUiPageBehavior中的View属性重命名为Original
- 更新UiRouterBase中日志输出使用Original属性替代View属性
- 在ISceneBehavior接口中添加Original属性定义
- 在SceneBehaviorBase实现类中添加Original属性实现
- 在CanvasItemUiPageBehaviorBase中将View属性改为Original属性
- 更新相关注释文档说明Original属性用途
2026-02-15 22:07:49 +08:00
GeWuYou
342b4b5e88
chore(workflow): 更新自动标签工作流触发条件
...
- 修改触发条件以确保仅在 main 分支上运行
- 重构条件逻辑结构提高可读性
- 保持 workflow_run 和 workflow_dispatch 触发方式
- 添加适当的括号分组逻辑运算符
2026-02-15 21:09:36 +08:00
GeWuYou
cdb7f32497
chore(workflow): 更新自动标签工作流配置
...
- 修改触发条件以支持手动调度
- 重构条件判断逻辑提高可读性
- 保持原有自动化标签功能不变
- 添加对 workflow_dispatch 事件的支持
2026-02-15 21:09:36 +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
7e2a1ff66d
test(state): 更新状态机上下文获取测试验证逻辑
...
- 将断言修改为验证 GetContext 方法抛出 InvalidOperationException 异常
- 在状态机初始化前验证状态上下文为空的预期行为
- 保持初始化后状态上下文正确设置的验证逻辑
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
65568a99b0
docs(api): 移除Core API参考文档和事件系统接口文档
...
- 删除了Core API参考文档,包括架构、组件、接口详细说明
- 移除了事件系统接口文档,涵盖IEvent、IEventBus、IUnRegister等相关接口
- 清理了API参考文档目录结构
- 移除了相关的Mermaid图表和代码示例引用
- 删除了性能考量和故障排查指南等内容
- 移除了测试用例和实现类的引用链接
- [release ci]
2026-02-15 17:15:18 +08:00
GeWuYou
899fbd76c3
feat(godot): 添加 Godot 场景管理和路径扩展功能
...
- 新增 Godot 场景行为基类和具体实现(Node2D、Node3D、Control、通用场景行为)
- 添加场景行为工厂类,支持根据节点类型自动创建合适的行为实例
- 实现 Godot 场景工厂类,用于创建场景实例并集成场景注册表
- 添加 Godot 路径扩展方法,支持判断用户数据路径和资源路径
- 优化数据仓库和设置事件类的初始化方法,添加 XML 文档注释
- 修改场景切换管道中的日志记录逻辑,避免空引用异常
- 更新 Godot 日志记录器和日志工厂的文档注释
- 为设置相关类添加数据对象和类型属性的文档说明
- 移除加载进度处理器类,精简场景切换流程
2026-02-15 16:59:09 +08:00
GeWuYou
628a39b9f8
refactor(scene): 修改场景栈返回类型为IEnumerable
...
- 将Stack属性的返回类型从IReadOnlyList改为IEnumerable
- 更新接口定义中的返回类型保持一致
- 优化内部实现直接返回可枚举集合而不是转换为列表
- 更新文档注释明确说明栈底到栈顶的顺序
2026-02-15 16:59:09 +08:00
GeWuYou
53c2ee4ef3
feat(router): 添加场景和UI路由的Around中间件支持
...
- 在SceneRouterBase和UiRouterBase中集成管道执行Around处理器
- 实现场景过渡管道SceneTransitionPipeline的Around处理器注册和执行功能
- 实现UI过渡管道UiTransitionPipeline的Around处理器注册和执行功能
- 添加ISceneAroundTransitionHandler和IUiAroundTransitionHandler接口定义
- 扩展SceneTransitionPhases和UITransitionPhases枚举支持Around阶段
- 实现Around处理器的优先级排序和中间件链构建机制
- 添加Around处理器的超时控制和异常处理机制
2026-02-15 16:59:09 +08:00
GeWuYou
6f61ff55aa
refactor(scene): 优化场景过渡管道的日志记录器创建
...
- 将硬编码字符串替换为 nameof 操作符以提高类型安全性
- 确保日志记录器名称与类名保持一致
- 提高代码可维护性,避免手动字符串输入错误
2026-02-15 16:59:09 +08:00
GeWuYou
c0dda5a341
fix(scene): 修复场景工厂接口参数命名错误
...
- 修正了 Create 方法中参数名从 sceneKy 到 sceneKey 的拼写错误
- 更新了 XML 文档注释中的参数名称以保持一致性
2026-02-15 16:59:09 +08:00
GeWuYou
629c0a70a9
refactor(scene): 简化 ISceneRoot 接口并重构场景路由系统
...
- 简化 ISceneRoot 接口,移除路由逻辑和状态管理职责
- 移除路由方法:ReplaceAsync, PushAsync, PopAsync, ClearAsync
- 移除场景加载方法:LoadAsync, UnloadAsync
- 移除状态属性:Current, Stack, IsTransitioning
- 添加容器管理方法:AddScene, RemoveScene
- 重构 SceneRouterBase 实现
- PushInternalAsync:使用 ISceneFactory.Create() 创建场景实例,通过 Root.AddScene() 添加到场景树
- PopInternalAsync:使用 Root.RemoveScene() 从场景树移除场景
- 保持正确的生命周期调用顺序
- 职责分离更清晰
- ISceneRoot:仅负责场景树容器管理
- ISceneFactory:负责场景实例创建
- SceneRouterBase:负责路由逻辑和生命周期协调
- 与 UI 路由系统设计保持一致
2026-02-15 16:59:09 +08:00
GeWuYou
b054ee1c4a
feat(scene): 实现场景路由守卫和过渡处理器管道
...
- 添加场景路由守卫机制,支持进入和离开场景的权限检查
- 实现场景过渡处理器管道,支持BeforeChange和AfterChange阶段处理
- 新增LoadingProgressHandler和LoggingTransitionHandler处理器
- 添加SceneTransitionPhases和SceneTransitionType枚举定义
- 实现ISceneRouteGuard、ISceneTransitionHandler等核心接口
- 在SceneRouterBase中集成守卫检查和处理器管道功能
- 重构场景切换逻辑,添加事件驱动的过渡处理机制
2026-02-15 16:59:09 +08:00
GeWuYou
65d56d0696
refactor(scene): 重构场景路由系统并迁移资源注册接口
...
- 将场景路由基类从同步改为异步实现,支持场景栈管理
- 添加场景行为接口定义及相关的进入参数接口
- 实现场景的压入、弹出、替换和清空等栈操作功能
- 迁移UI资源注册接口到资产模块下
- 移除缓存淘汰策略枚举并更新UI切换阶段命名空间引用
- 优化日志记录器创建方式和统一命名空间规范
2026-02-15 16:59:09 +08:00
GeWuYou
d0e7a9fb9b
refactor(architecture): 重构架构上下文中的命令和查询方法
...
- 移除旧的 Mediator 扩展方法区域标记
- 重新组织命令发送方法,将异步和同步版本分离
- 更新 SendCommand 和 SendQuery 方法的实现逻辑
- 为查询操作添加新的同步和异步发送方法
- 调整命令执行器方法的参数类型和返回值
- 优化方法注释文档以提高可读性
2026-02-14 22:16:59 +08:00
GeWuYou
e6a114fe7b
test(mediator): 调整缓存性能测试的阈值要求
...
- 将缓存性能测试中的性能比较阈值从 2.0 倍放宽到 2.5 倍
- 保持缓存应该比未缓存版本更快的测试逻辑
- 更新了测试断言以适应更宽松的性能标准
- [release ci]
2026-02-14 21:43:07 +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
35d05a46fa
refactor(architecture): 更新IArchitectureContext接口中的命令和查询方法签名
...
- 移除ICommand类型的using别名,直接使用完整命名空间
- 将SendCommand方法参数类型从ICommand改为command.ICommand
- 添加Mediator模式的同步命令处理方法兼容性接口
- 添加Mediator模式的异步命令处理方法支持取消令牌
- 添加Mediator模式的同步查询处理方法兼容性接口
- 添加Mediator模式的异步查询处理方法支持取消令牌
- 移除重复的Mediator相关方法声明,优化接口结构
2026-02-14 19:41:21 +08:00
GeWuYou
7c77149ab0
fix(mediator): 修复高级功能测试中的异常处理和断路器逻辑
...
- 将 OperationCanceledException 替换为更具体的 TaskCanceledException
- 修复瞬态错误处理器中的计数器逻辑,仅在 MaxErrors > 0 时递增
- 实现断路器功能,当失败次数达到阈值时打开断路器
- 添加Saga事务的补偿机制,在步骤失败时执行回滚操作
- 为验证行为添加输入验证逻辑
- 注册传统CQRS组件以支持混合模式测试
- 修复架构集成测试中的上下文访问问题
- [release ci]
2026-02-14 19:41:21 +08:00
GeWuYou
bed4f66576
test(mediator): 添加Mediator高级特性和架构集成测试
...
- 实现多通知处理器调用验证功能
- 添加取消令牌对长运行请求的取消支持
- 实现流请求的取消令牌处理机制
- 添加并发请求干扰测试用例
- 实现处理器异常传播验证功能
- 添加多命令处理器共享对象修改测试
- 实现查询缓存功能测试用例
- 添加通知排序保持功能验证
- 实现流请求过滤功能测试
- 添加请求验证行为测试用例
- 实现性能基准测试功能
- 添加传统CQRS与Mediator共存测试
- 实现管道行为测试用例
- 添加高并发性能测试功能
- 实现内存使用稳定性测试
- 添加瞬态错误处理测试用例
- 实现熔断器模式测试功能
- 添加Saga模式一致性测试用例
- 实现请求链式依赖测试功能
- 添加外部服务依赖超时测试
- 实现数据库事务处理测试用例
- 添加架构上下文访问测试功能
- 实现服务检索功能测试用例
- 添加嵌套请求发送测试功能
- 实现生命周期管理测试用例
- 添加作用域服务隔离测试功能
- 实现错误传播测试用例
- 添加上下文性能开销测试功能
- 实现缓存性能提升测试用例
- 添加并发安全访问测试功能
- 实现状态一致性测试用例
- 添加系统集成测试功能
- 实现混合CQRS模式测试用例
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
a61c796e4d
refactor(tests): 更新查询接口类型引用
...
- 将 Mediator.IQuery<int> 替换为 IQuery<int> 类型引用
- 保持空值参数测试逻辑不变
- 确保类型转换正确性
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
dependabot[bot]
d151558f96
build(deps): bump actions/checkout from 4 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 22:23:17 +08:00
dependabot[bot]
d4b5867cbf
build(deps): bump actions/upload-pages-artifact from 3 to 4
...
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases )
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 22:23:03 +08:00
dependabot[bot]
03fd8f2463
build(deps): bump trufflesecurity/trufflehog from 3.93.0 to 3.93.3
...
Bumps [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog ) from 3.93.0 to 3.93.3.
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases )
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/v3.93.0...v3.93.3 )
---
updated-dependencies:
- dependency-name: trufflesecurity/trufflehog
dependency-version: 3.93.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 22:22:50 +08:00
dependabot[bot]
f32a4b63c4
Bump Meziantou.Analyzer from 2.0.298 to 2.0.299
...
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.299
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.299
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.299
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.299
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.299
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 22:22:25 +08:00
GeWuYou
93302dbc23
chore(ci): 更新文档发布工作流配置
...
- 移除 bun 安装步骤中的缓存配置
- 删除依赖安装步骤
2026-02-12 14:50:50 +08:00
GeWuYou
2105833f2f
fix(ci): 修复文档工作流配置中的参数名称错误
...
- 将参数名从 docs-path 更改为 docs_dir
- 确保与 llms-txt-action 的预期输入参数一致
2026-02-12 14:46:44 +08:00
GeWuYou
47b8b4c975
docs(property): 更新属性文档中的代码块语法高亮
...
- 为双向绑定示例添加 C# 语法标记
- 为计算属性示例添加 C# 语法标记
- 为属性验证示例添加 C# 语法标记
- 为条件监听示例添加 C# 语法标记
- 为避免频繁触发示例添加 C# 语法标记
- 为自定义比较器示例添加 C# 语法标记
- 为值变化检测示例添加 C# 语法标记
- 为事件触发机制示例添加 C# 语法标记
2026-02-12 14:39:33 +08:00
GeWuYou
004da5b302
docs(core): 完全重写 rule.md 文档以反映实际框架实现
...
- 移除所有不存在的接口引用(ICanGetModel、ICanSendCommand 等)
- 更正设计模式说明,准确反映 IContextAware + 扩展方法的实现
- 替换所有 Godot 特定代码为纯 C# 示例
- 详细列出 ContextAwareExtensions 中的所有扩展方法
- 添加自定义组件使用 IContextAware 的示例
- 完善上下文注入机制和回退机制的说明
- 更新最佳实践指南
2026-02-12 14:35:52 +08:00
GeWuYou
e58179a6a4
docs(menu): 更新文档导航菜单和API引用格式
...
- 在核心文档菜单中新增Context上下文和异步初始化页面链接
- 修正API参考文档中泛型类名的显示格式
- 更新事件、查询和规则文档中的控制器相关描述
- 优化故障排除页面的链接指引结构
2026-02-12 14:20:52 +08:00
GeWuYou
93b25a19f7
docs(core): 更新命令系统文档并移除控制器独立文档
...
- 移除 controller.md 文件,将控制器相关内容整合到其他文档中
- 重构 command.md 文档,更新命令基类的类型参数设计
- 添加新的命令基类 AbstractCommand<TInput> 和 AbstractCommand<TInput, TResult>
- 更新命令使用示例,采用输入参数对象替代构造函数参数
- 优化事件注册相关代码示例,移除 Godot 特定的生命周期方法
- 更新依赖注入容器文档,明确 Register 方法的泛型特性
- 添加模型异步初始化功能说明和相关接口介绍
- 重构查询系统文档,统一采用输入参数对象的设计模式
- 更新架构生命周期枚举值,使用更准确的阶段名称
- 添加 GitHub Actions 工作流配置,集成 LLM 准备的文档索引功能
2026-02-12 13:13:07 +08:00
GeWuYou
aa0a9f7ab6
docs(tutorials): 添加教程概览页面并调整导航链接
...
- 创建了新的教程概览页面 docs/zh-CN/tutorials/index.md
- 添加了完整的教程目录结构和学习路径介绍
- 在侧边栏中增加了教程概览链接
- 修正了教程导航链接指向正确的根目录
- 包含了基础教程、Godot集成教程和高级模式教程的详细介绍
- 提供了三种不同的学习路径建议和前置知识要求
2026-02-12 01:24:55 +08:00
GeWuYou
f2a15a8302
fix(docs): 修复入门指南导航链接路径
...
- 修正了入门指南主链接从 /zh-CN/getting-started/installation 到 /zh-CN/getting-started
- 调整了侧边栏中架构概览和安装配置的顺序
- 确保导航链接与实际页面路径保持一致
2026-02-12 01:22:38 +08:00
GeWuYou
3136c03b03
fix(docs): 修正教程链接路径
...
- 将教程链接从 '/zh-CN/tutorials/basic-tutorial' 修改为 '/zh-CN/tutorials/basic'
- 保持导航菜单结构不变
- 确保链接指向正确的教程页面
2026-02-12 01:18:31 +08:00
GeWuYou
5d8fec2acd
docs(tutorials): 更新文档中的图片路径引用
...
- 修正 basic/01-environment.md 中的 C# 项目初始化图片路径
- 修正 basic/02-project-setup.md 中的 C# 支持初始化图片路径
- 修正 basic/02-project-setup.md 中的 NuGet 包管理图片路径
- 修正 basic/02-project-setup.md 中的全局类创建图片路径
- 修正 basic/03-counter-basic.md 中的计数器界面图片路径
- 修正 basic/03-counter-basic.md 中的运行效果图片路径
- 修正 basic/04-model-refactor.md 中的运行效果图片路径
- 修正 basic/06-utility-system.md 中的阈值提示图片路径
- 统一所有图片路径从 ../assets/basic-tutorial/ 指向 ../assets/basic/
2026-02-12 01:11:58 +08:00
GeWuYou
e4e79e16dc
docs(tutorials): 更新基础教程导航结构并添加完整教程内容
...
- 重构教程导航,将基础教程拆分为多个子章节
- 添加第1章:环境准备,包含.NET SDK和Godot引擎安装指南
- 添加第2章:项目创建与初始化,介绍GFramework项目结构搭建
- 添加第3章:基础计数器实现,演示传统MVC模式及问题分析
- 添加第4章:引入Model重构,展示GFramework的Model层设计
- 配置教程间的前后导航链接
- 更新导航菜单结构,支持折叠展开功能
2026-02-12 01:08:55 +08:00
GeWuYou
da1c0d0295
docs(tutorials): 更新基础教程文档结构和内容
...
- 重新组织教程目录结构,分为入门准备、基础实践、架构深化等六个部分
- 添加 GFramework 核心概念介绍,包括 MVC 架构模式和框架组件概述
- 更新项目创建指南,优化包管理配置说明
- 完善计数器实现教程,从传统 MVC 到 GFramework 架构的演进
- 增加 Model、System、Utility 各层设计与实现指导
- 补充架构集成、依赖管理和测试验证相关内容
- 添加事件驱动架构原理和最佳实践总结
2026-02-12 00:01:53 +08:00
GeWuYou
4c547258a5
refactor(storage): 优化文件存储删除操作的线程安全性
...
- 为Delete方法添加详细的参数注释说明
- 添加锁机制确保文件删除操作的线程安全
- 使用GetOrAdd方法管理路径对应的锁对象
- 实现DeleteAsync异步删除方法
- 优化代码结构提高可读性和维护性
2026-02-12 00:01:39 +08:00
GeWuYou
5e8887145b
docs(tutorials): 添加 GFramework 基础教程文档
...
- 新增完整的从零开始的计数器应用教程
- 包含环境准备、项目创建、项目初始化步骤说明
- 提供功能实现详细指南,涵盖 MVC 架构实践
- 添加测试验证章节和代码示例
- 介绍 GFramework 核心概念:Model、System、Utility、Command
- 提供事件驱动架构和解耦设计模式最佳实践
- 包含实际代码重构案例和设计模式应用场景
2026-02-11 23:52:02 +08:00
GeWuYou
3630369b42
docs(tutorials): 更新基础教程内容
...
- 将教程目标从游戏项目改为计数器应用
- 移除目录章节符号,调整章节结构
- 更新Godot版本要求为Mono版
- 重新设计项目初始化流程和截图说明
- 完全重构架构设计部分,详细介绍模块化开发
- 添加游戏入口点和模块注册实现
- 实现MVC模式的计数器功能示例
- 增加命令模式的实现说明
- 详细解释事件驱动架构的优势
2026-02-11 23:05:19 +08:00
GeWuYou
e9707f4712
docs(tutorials): 更新高级模式文档目录结构
...
- 移除目录标题前的图标符号
- 删除模块化设计、性能分析和错误处理章节链接
- 简化目录结构以聚焦核心架构内容
2026-02-11 20:19:00 +08:00
GeWuYou
7a18d9459b
docs(core): 更新核心架构文档完善命令事件系统说明
...
- 重构架构文档增加模块管理和生命周期管理说明
- 更新命令系统文档移除输入参数结构简化命令定义
- 完善事件系统文档添加事件总线和注销功能说明
- 补充IoC容器文档增加多实例注册和单例管理说明
- 优化示例代码展示架构初始化和组件获取方式
- 添加配置选项说明和最佳实践建议
2026-02-11 20:13:40 +08:00
GeWuYou
4be7f7a731
style(docs): 更新品牌颜色主题配置
...
- 注释掉原有的 indigo 颜色变量定义
- 添加自定义深蓝色 (#1e40af) 用于文字和激活状态
- 添加自定义蓝色 (#2563eb) 用于悬停效果
- 保留原有的品牌颜色 3 和软色变量设置
2026-02-11 16:31:18 +08:00
GeWuYou
fe0066299b
style(docs): 更新文档主题样式
...
- 添加默认颜色变量之间的空行分隔
- 将主页英雄名称背景渐变改为 WebKit 线性渐变
- 恢复原始的紫色到蓝色渐变配色方案
- 简化主页英雄图像背景为紫色到青色渐变
- 移除自定义按钮品牌背景渐变样式
- 移除 VPFeature 悬停阴影效果样式
2026-02-11 16:24:58 +08:00
GeWuYou
caf0784326
style(docs): 更新品牌颜色变量定义
...
- 移除自定义深蓝色和蓝色配置
- 使用 VitePress 内置的 indigo 颜色变量替代
- 简化品牌颜色主题配置
- 保持品牌色彩一致性
2026-02-11 16:20:25 +08:00
GeWuYou
5aaef20b70
style(docs): 更新文档主题样式和导航链接配置
...
- 修改品牌颜色变量定义方式,统一使用 indigo 颜色系统
- 注释掉原有的蓝色品牌颜色配置
- 将架构概览链接从 /zh-CN/getting-started/architecture 调整为 /zh-CN/getting-started
- 调整导航菜单结构配置
2026-02-11 16:18:26 +08:00
GeWuYou
b35450bb15
feat(docs): 添加网站图标配置
...
- 在head中添加favicon链接标签
- 配置图标类型为image/png
- 设置图标路径为/GFramework/favicon.png
2026-02-11 16:13:09 +08:00
GeWuYou
1fc5e0c708
docs(homepage): 更新架构概览链接路径
...
- 将架构概览链接从 /zh-CN/getting-started/architecture-overview 修改为 /zh-CN/getting-started/architecture
- 移除了不必要的主题配置 alt 属性
2026-02-11 16:02:48 +08:00
GeWuYou
08650cf682
docs(nav): 更新源码生成器导航链接
...
- 修正源码生成器菜单项的链接路径,移除 overview 后缀
2026-02-11 16:00:47 +08:00
GeWuYou
1ab615db26
docs(source-generators): 更新文档结构并调整Godot版本信息
...
- 将Source Generators概述文档从overview重命名为index
- 更新所有相关文档中的链接指向新的index文件
- 移除Godot文档中的许可证和版本信息冗余内容
- 统一Godot版本要求从4.5.1+到4.6
- 删除各模块文档末尾的相关链接部分
- 优化文档结构提升可读性
2026-02-11 15:57:40 +08:00
GeWuYou
3d656981b4
docs: 更新文档结构和链接配置
...
- 移除架构概览页面的独立文件,将其内容迁移至getting-started目录
- 更新导航菜单中架构概览的链接路径
- 删除game模块中的场景管理文档及其相关引用
- 修复godot模块中相关文档的链接格式
- 清理各个文档末尾的多余链接和许可证信息
- 优化文档间的引用关系,确保链接有效性
2026-02-11 15:51:48 +08:00
GeWuYou
f387e3788e
docs(core): 更新文档中的链接格式和代码引用样式
...
- 将文档中的文件路径链接替换为纯文本格式
- 统一代码引用的显示样式,移除多余的链接标记
- 修正事件和接口文档中的格式一致性问题
- 更新扩展方法文档中的链接引用方式
- 标准化日志系统文档中的接口引用格式
2026-02-11 15:37:05 +08:00
GeWuYou
8f847de24e
docs(core): 更新架构文档并修复链接路径
...
- 修复 Core 概述链接路径,添加 index.md 后缀
- 统一标点符号使用,在冒号后添加空格
- 优化段落格式和列表样式,提升文档可读性
- 调整代码示例缩进和格式
- 更新架构类标题描述,明确其为基类
- 修正文档中的拼写和格式错误
- 调整设计模式章节标题格式
- 更新最佳实践部分的格式和表述
- 优化相关包列表的显示格式
2026-02-11 15:29:41 +08:00
GeWuYou
cd25f8effe
docs(game): 更新游戏设置文档中的代码注释和示例
...
- 移除 GameSettings 类的 XML 文档注释
- 移除 GameSettings 应用器的 XML 文档注释
- 修正 Factory Pattern 描述中的方法名称格式
- 更新设计模式说明以匹配实际实现细节
2026-02-11 15:18:12 +08:00
GeWuYou
7dd9b99e49
fix(docs): 修复文档中代码块转义问题并更新插件配置
...
- 将 markdownEscapePlugin 重命名为 safeGenericEscapePlugin
- 更新插件逻辑以保护 HTML 标签并仅转义泛型形式的尖括号
- 修复文档中所有代码块的语法标记为正确的 csharp 格式
- 更新依赖缓存文件的哈希值
- 修正事件文档中泛型类型的显示格式
2026-02-11 15:15:28 +08:00
GeWuYou
6cc0ddf7f9
docs: 更新文档中的代码示例和链接引用
...
- 修复 IEventHandler 接口中的参数关键字冲突
- 修正场景管理器接口中的泛型约束拼写错误
- 本地化核心抽象文档链接为中文标题
- 更新事件系统文档中的接口链接路径
- 修复扩展方法文档中的上下文感知链接
- 调整日志系统文档中的接口链接路径
- 重构架构概述中的代码示例和设计原则
- 统一 Godot 设置模块中的代码块格式
- 优化音频和图形设置的代码示例
2026-02-11 14:49:34 +08:00
GeWuYou
d1cdac8082
docs: 更新文档链接和代码块格式
...
- 修复了文档中多个文件的链接指向,统一使用相对路径格式
- 移除了代码块中的语言标识符以保持一致性
- 更新了存储模块文档中的类名显示方式
- 修正了架构文档中的跨文档引用链接
- 调整了事件、命令、查询等核心模块的文档链接结构
- 规范化了所有代码示例的格式和引用方式
2026-02-11 14:44:46 +08:00
GeWuYou
75826961d4
feat(docs): 添加 Markdown 转义插件解决 HTML 标签显示问题
...
- 在 VitePress 配置中集成 markdown-escape-plugin
- 实现代码块保护机制避免代码中的 < > 符号被转义
- 添加预处理器确保代码块内容不被 HTML 转义影响
- 通过占位符机制实现代码块的临时替换和恢复
- 提供完整的代码块解析和转义处理流程
2026-02-11 14:44:15 +08:00
GeWuYou
8c04a5008a
style(docs): 修复代码块标记语法错误
...
- 修正了所有代码块前的标记符号,从 ``csharp 更改为 ```csharp
- 确保了文档中代码片段的正确显示格式
- 提高了文档的可读性和语法规范性
2026-02-11 14:18:04 +08:00
GeWuYou
033e2b076a
docs(core): 更新文档中的代码格式和类型标记
...
- 修复 IfType<T, TResult> 扩展方法的类型格式显示
- 更正 Contains<T>() 方法的类型标记格式
- 统一代码块标记为正确的 ```csharp 格式
- 修正 IQuery<TResult> 接口的类型标记显示
2026-02-11 14:16:52 +08:00
GeWuYou
50a71403bb
docs(ioc): 更新 IoC 容器文档
...
- 修复 IocContainer 链接路径指向正确文件位置
- 统一泛型方法语法格式,添加反引号标记如 Register<T>、Get<T> 等
- 修正代码块标记语法错误
- 更新注册和获取实例的方法示例代码格式
2026-02-11 14:09:23 +08:00
GeWuYou
c6cec4ae13
chore(docs): 简化 VitePress 脚本命令
...
- 将 docs:dev 脚本重命名为 dev
- 将 docs:build 脚本重命名为 build
- 将 docs:preview 脚本重命名为 preview
- 移除脚本名称中的 docs: 前缀以简化命令使用
2026-02-11 13:57:01 +08:00
GeWuYou
a5a90a59bd
chore(workflow): 更新 Bun 版本配置
...
- 将 publish-docs.yml 工作流中的 Bun 版本从 2.1.x 改为 latest
- 保持缓存配置不变
2026-02-11 13:53:35 +08:00
GeWuYou
3791dc5b13
chore(workflow): 更新文档发布工作流配置
...
- 添加详细的中文注释说明工作流功能和配置项
- 修改触发条件支持标签推送和手动触发两种方式
- 配置工作流所需权限包括 contents、pages 和 id-token
- 更新并发控制配置格式并设置不允许取消进行中的任务
- 优化步骤命名从数字编号改为功能描述性名称
- 添加 Bun 缓存配置和工作目录指定
- 改进条件判断逻辑支持正式版本标签和手动触发
2026-02-11 13:50:56 +08:00
GeWuYou
62fbfd41e1
chore(workflow): 添加手动触发文档发布工作流功能
...
- 在 GitHub Actions 工作流配置中添加 workflow_dispatch 触发器
- 允许通过 GitHub 界面手动运行文档发布流程
- 保留原有的 push 和 tags 触发规则
- 维持现有的权限设置不变
2026-02-11 13:45:51 +08:00
GeWuYou
604d720639
fix(workflow): 修复文档发布工作流条件并指定Bun版本
...
- 修复了触发文档发布的条件逻辑
- 指定Bun.js版本为2.1.x以确保兼容性
- 移除了不必要的分支检查条件
2026-02-11 13:33:13 +08:00
GeWuYou
d147bc01fe
chore(ci): 更新文档发布工作流以使用 Bun.js
...
- 将 Node.js 设置替换为 Bun.js 安装
- 更新依赖安装命令从 npm 到 bun
- 更新构建命令从 npm run build 到 bun run build
- 移除缓存配置选项
2026-02-11 13:33:13 +08:00
GeWuYou
5e92232cc6
chore(workflow): 更新文档发布工作流配置
...
- 修改标签匹配模式从 '*' 到 'v*' 以确保版本标签格式一致性
- 添加条件判断逻辑以精确控制工作流触发时机
- 增加对预发布标签的过滤处理
- 为手动文档发布增加分支合并条件支持
2026-02-11 13:33:13 +08:00
GeWuYou
713dd65d50
chore(workflow): 更新文档发布工作流配置
...
- 移除对所有分支的推送触发器
- 删除通配符标签匹配规则
- 简化工作流权限配置
- 优化工作流触发条件设置
- [release ci]
2026-02-11 12:52:14 +08:00
GeWuYou
8f30361972
refactor(docs): 将文档构建工具从 DocFX 迁移到 VitePress
...
- 移除 .NET SDK 相关配置,改为使用 Node.js 环境
- 更新依赖安装方式,使用 npm 替代 dotnet restore
- 修改构建命令为 npm run build,替换原有的 DocFX 构建流程
- 调整输出路径配置,从 docfx/_site 改为 docs/.vitepress/dist
- 更新工作流触发条件,启用 push 触发器替代手动触发
- 重命名作业名称为 build-and-deploy,简化部署流程
- 更新 Action 版本号,统一使用较新的版本
- [release ci]
2026-02-11 12:52:14 +08:00
GeWuYou
590bbbf81b
docs(sidebar): 更新侧边栏链接并删除API参考导航
...
- 将Game和Godot模块的概览链接从overview路径更新为根路径
- 删除了API参考相关的侧边栏导航配置
- 移除了已删除的Game和Godot概览文档文件
2026-02-11 12:52:14 +08:00
GeWuYou
0b1d3006fa
docs(website): 更新首页文档内容和特性描述
...
- 修改标题为 GFramework
- 更新英雄区域文本描述,强调模块化架构和多引擎集成支持
- 重新组织特性列表,优化清洁架构、CQRS、事件系统、引擎集成、响应式编程和源码生成器的描述
- 调整特性标题和详情内容,使其更准确地反映框架的核心功能
- 修复页面底部布局语法错误
2026-02-11 12:52:14 +08:00
GeWuYou
f4731ee5a3
fix(docs): 修复中文文档链接路径错误
...
- 修正快速开始页面链接为 /zh-CN/getting-started/quick-start
- 修正架构概览页面链接为 /zh-CN/getting-started/architecture-overview
- 确保所有中文文档导航链接指向正确的本地化路径
2026-02-11 12:52:14 +08:00
GeWuYou
317eddca9b
docs(sidebar): 更新侧边栏导航结构并移除API参考页面
...
- 调整Core模块导航链接结构,从overview页面改为根路径
- 重构Core模块侧边栏,将原有的6个主要类别扩展为15个详细分类
- 精简Game模块侧边栏,保留场景管理和游戏设置两个主要功能
- 更新Godot集成模块侧边栏,新增协程、信号、存储等功能分类
- 修改源码生成器模块命名,将枚举扩展重命名为枚举生成器
- 新增抽象接口侧边栏,包含Core和Game抽象接口文档
- 调整教程模块顺序,新增入门教程和Godot集成教程分类
- 移除独立的API参考导航项,将其整合到相应模块中
- 修正生成器API文档链接路径错误问题
2026-02-11 12:52:14 +08:00
GeWuYou
bc89ff07a1
docs(pages): 删除 404 页面文档文件
...
- 移除 docs/404.md 文件及其所有内容
- 删除 404 页面的 Vue 组件实现代码
- 清理相关样式和脚本配置
2026-02-11 12:52:14 +08:00
GeWuYou
0244883e14
feat(docs): 添加自定义404页面组件
...
- 创建 NotFound.vue 组件实现404页面功能
- 在主题配置中注册并集成自定义404页面
- 实现中英文双语支持和自动重定向功能
- 添加倒计时自动跳转到首页的功能
- 设计美观的404错误页面样式和布局
- 提供相关文档页面链接建议和返回首页按钮
2026-02-11 12:52:14 +08:00
GeWuYou
6f4bbd6d06
refactor(docs): 优化文档站点配置和404页面实现多语言支持
...
- 更新VitePress配置移除不必要的服务器中间件
- 实现404页面的中英文国际化显示
- 为404页面添加倒计时自动跳转功能
- 重构404页面样式并添加返回首页按钮
- 优化依赖缓存哈希值更新构建配置
2026-02-11 12:52:14 +08:00
GeWuYou
b835d3af67
docs(site): 实现多语言支持并重构文档站点配置
...
- 添加简体中文本地化配置和导航链接
- 配置本地搜索功能并设置中文翻译
- 添加 Catch-all 404 重定向中间件
- 重构侧边栏和导航结构以支持国际化
- 移除旧的英文文档内容并更新配置
- 添加页脚导航和面包屑文字本地化
2026-02-11 12:52:14 +08:00
GeWuYou
67df7337b9
style(docs): 更新文档主题样式以匹配GFramework品牌色彩
...
- 替换默认靛蓝色系为GFramework品牌蓝色彩
- 修改首页英雄标题渐变背景为绿色到蓝色到紫色渐变
- 更新首页英雄图像背景为多色透明渐变
- 添加品牌按钮背景渐变样式
- 为功能组件添加悬停阴影效果
2026-02-11 12:52:14 +08:00
GeWuYou
45068f304f
feat(docs): 添加网站导航栏 Logo
...
- 在主题配置中添加 logo 属性指向 '/logo-icon.png'
- 配置文件中增加 Logo 显示功能
2026-02-11 12:52:14 +08:00
GeWuYou
1dc173e4df
docs(core): 添加核心模块架构文档
...
- 添加 Architecture 包使用说明文档,介绍 MVC 架构模式实现
- 添加 Command 包使用说明文档,阐述命令模式设计和实现
- 添加 Controller 包使用说明文档,描述控制器接口规范
- 添加 Environment 包使用说明文档,定义环境配置功能
- 添加 Events 包使用说明文档,提供事件系统完整介绍
2026-02-11 12:52:14 +08:00
GeWuYou
6b48c92710
docs: 删除多个核心模块的文档文件
...
- 移除 architecture 模块的 README 文档
- 移除 command 模块的 README 文档
- 移除 environment 模块的 README 文档
- 移除 events 模块的 README 文档
- 清理框架核心组件的使用说明文档
2026-02-11 12:52:14 +08:00
GeWuYou
8b49099231
remove(docfx): 删除 DocFX 配置文件
...
- 移除 docfx.json 配置文件
- 移除 filterConfig.yml 过滤配置文件
- 移除 index.md 主页文档
- 移除 toc.yml 导航配置文件
- 移除 API 目录下的 toc.yml 文件
2026-02-11 12:52:14 +08:00
GeWuYou
026d9964fe
docs(game): 更新游戏模块文档并优化整体结构
...
- 重写了 GFramework.Game 模块的完整文档
- 添加了详细的目录结构和使用示例
- 扩展了架构模块系统的说明和代码示例
- 增加了资产管理、存储系统和序列化系统的详细文档
- 提供了模块配置和高级用法的指导
- 完善了存储系统的分层存储和缓存实现
- 添加了序列化系统的自定义转换器示例
- 更新了核心特性和设计理念的描述
- 优化了文档的整体组织结构和可读性
- 刷新了 VitePress 依赖缓存以同步文档变更
2026-02-11 12:52:14 +08:00
GeWuYou
88a528746d
docs(website): 更新文档网站配置和内容结构
...
- 将描述从英文改为中文,突出框架的游戏开发定位
- 添加base路径配置以支持GitHub Pages部署
- 重构导航菜单,提供更清晰的文档分类
- 创建详细的侧边栏结构,涵盖入门指南、核心框架、游戏模块等内容
- 更新首页Hero区域,添加框架Logo和现代化功能介绍
- 移除默认示例页面,替换为实际的框架文档
- 添加页脚版权信息和Apache许可证声明
- 创建核心框架、游戏模块和Godot集成的概览文档
- 添加入门指南,包括安装配置、快速开始和架构概览
- 实现完整的多层级文档导航和内容组织
2026-02-11 12:52:14 +08:00
GeWuYou
2670cf564b
feat(docs): 迁移文档系统到 VitePress
...
- 将文档首页从传统 Markdown 格式迁移到 VitePress 首页配置
- 添加 VitePress 主题配置文件和自定义样式
- 配置 Git 忽略文件以排除构建产物和依赖
- 添加 VitePress 构建缓存和依赖预构建文件
- 创建 API 示例页面和导航配置
- 移除旧的 TOC 配置文件并替换为新的路由结构
2026-02-11 12:52:14 +08:00
GeWuYou
e83dd278b3
test(coroutine): 添加协程指令单元测试并改进现有测试
...
- 为 Delay 指令添加完整的单元测试覆盖各种时间情况
- 为 WaitForCoroutine 指令添加单元测试验证协程等待功能
- 为 WaitForFrames 指令添加单元测试覆盖帧计数逻辑
- 为 WaitForTask<T> 指令添加单元测试包括异常处理场景
- 为 WaitOneFrame 指令添加单元测试验证单帧等待
- 为 WaitUntil 和 WaitWhile 指令添加单元测试覆盖谓词逻辑
- 将 WaitForMultipleEventsTests 中的异步方法标记为 async Task 类型
- 修改测试事件类的 Data 属性为可变的 set 访问器而不是只读 init
- 优化 WaitForMultipleEventsTests 中的断言注释描述
2026-02-10 23:47:40 +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
01fb7c33ca
chore(docs): 更新 README 中的 Godot 版本号
...
- 将 Godot 版本从 4.5+ 更新为 4.6
2026-02-09 15:45:55 +08:00
GeWuYou
7a259cde36
docs(readme): 添加 zread 集成徽章
...
- 在 README.md 中添加 zread 集成徽章
- 徽章链接指向 zread.ai 的 GFramework 项目页面
- 使用 SVG 格式的徽章图标和自定义颜色样式
2026-02-09 15:45:08 +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
edef111ce7
perf(ci): 优化CI工作流配置以提升构建性能
...
- 为MegaLinter添加缓存机制以加速代码质量检查
- 为TruffleHog添加缓存机制以提升安全扫描效率
- 扩展NuGet包缓存路径并包含更多依赖目录
- 添加.NET工具缓存以减少重复下载时间
- 将CodeQL构建模式从自动改为手动控制
- 更新.NET版本配置仅保留8.0.x版本支持
- 调整仓库检出深度设置以优化拉取速度
2026-02-09 11:27:10 +08:00
GeWuYou
94bfa9aa29
feat(ui): 优化UI实例ID生成逻辑以支持多线程安全
...
- 使用Interlocked.Increment确保多线程环境下实例计数器的原子操作
- 修复了潜在的并发访问导致ID重复的问题
- 保持原有的ID格式化规则不变
- 为GenerateInstanceId方法添加返回值XML文档注释
2026-02-08 14:27:12 +08:00
GeWuYou
d2e2739016
feat(ui): 添加通过UI键隐藏指定层级UI的功能
...
- 在UiRouterBase中新增HideByKey方法,支持根据UI键隐藏指定层级中的UI
- 为IUiPageBehavior接口添加Handle属性,用于获取或设置当前UI句柄
- 在IUiRouter接口中定义HideByKey方法契约
- 为CanvasItemUiPageBehaviorBase实现Handle属性
- 修复UI页面行为基类中的注释描述
- 在路由初始化过程中设置页面句柄以确保正确的UI管理
- [release ci]
2026-02-08 10:09:35 +08:00
GeWuYou
b039e3bd6f
feat(workflow): 添加许可证合规文件打包功能
...
- 在 license-compliance 工作流中增加 ZIP 压缩包创建步骤
- 将 NOTICE、第三方许可证列表和 SBOM 验证文件打包为 license-compliance.zip
- 更新 GitHub Release 上传配置以包含新的合规打包文件
- 添加详细的注释说明打包内容和用途
- 优化工作流步骤顺序和可读性
2026-02-07 21:59:04 +08:00
GeWuYou
43eacc1e4a
refactor(ui): 移除UI根接口中的Z序管理方法并优化文档注释
...
- 从IUiRoot接口中移除SetZOrder和GetVisiblePages方法
- 删除GodotUiRoot类的完整实现文件
- 为ModalLayerUiPageBehavior类添加详细的XML文档注释
- 为TopmostLayerUiPageBehavior类添加详细的XML文档注释
- 优化模态层和顶层UI行为类的属性文档说明
- [release ci]
2026-02-07 21:51:34 +08:00
GeWuYou
35a06d2565
refactor(ui): 将CanvasItemUiPageBehavior重构为分层行为基类和工厂模式
...
- 移除原有的CanvasItemUiPageBehavior类
- 创建CanvasItemUiPageBehaviorBase抽象基类,统一管理生命周期逻辑
- 实现PageLayerUiPageBehavior处理页面层UI行为
- 实现OverlayLayerUiPageBehavior处理覆盖层UI行为
- 实现ModalLayerUiPageBehavior处理模态层UI行为
- 实现ToastLayerUiPageBehavior处理Toast层UI行为
- 实现TopmostLayerUiPageBehavior处理顶层UI行为
- 创建UiPageBehaviorFactory工厂类按层级创建对应的行为实例
- 添加Apache License 2.0版权声明到所有新文件
2026-02-07 21:28:15 +08:00
GeWuYou
83a268690f
feat(ui): 完善UI路由系统功能
...
- 添加层级UI管理功能,支持Overlay、Modal、Toast等浮层显示
- 实现路由守卫机制,支持页面跳转前后的权限检查
- 新增实例ID计数器,为每个UI实例生成唯一标识符
- 重构代码结构,添加区域划分提高代码可读性
- 优化页面栈管理逻辑,改进生命周期处理流程
- 修复Push和Pop操作中的日志输出格式问题
- 添加类型安全检查,防止重复注册相同UI实例
- 实现UI句柄公共构造函数,支持外部创建UI句柄对象
- 增强Show和Hide操作的重入性检测机制
2026-02-07 21:09:50 +08:00
GeWuYou
b505ef5dff
feat(ui): 更新UI系统接口和实现
...
- 在IUiPageBehavior接口中添加Layer和IsReentrant属性
- 将IUiRouter的Show方法返回类型从void改为UiHandle
- 修改Hide、Resume、GetFromLayer等方法参数从uiKey改为UiHandle
- 新增UiHandle结构体用于唯一标识和管理UI实例
- 在CanvasItemUiPageBehavior中实现Layer和IsReentrant属性
2026-02-07 21:02:21 +08:00
GeWuYou
3f0dbb06b7
remove(ui): 移除UI缓存和过渡相关接口和配置
...
- 删除了 IUiCacheStatistics 接口定义
- 删除了 IUiTransition 接口定义
- 删除了 UiCacheConfig 类定义及其相关方法
- 移除了UI缓存统计、过渡动画和缓存配置功能
2026-02-07 21:02:04 +08:00
GeWuYou
bf5672759a
docs(enums): 更新 UiLayer 枚举文档注释
...
- 为 Page 层添加不可重入说明
- 为 Overlay 层添加支持重入说明
- 为 Modal 层添加支持重入及注意事项说明
- 为 Toast 层添加支持重入说明
- 为 Topmost 层添加不可重入说明
- [release ci]
2026-02-07 20:04:13 +08:00
GeWuYou
0771a7ad85
refactor(ui): 更新UI路由和页面行为接口定义
...
- 修改HasVisibleInLayer方法签名,添加uiKey参数以精确检查特定UI可见性
- 在IUiPageBehavior接口中添加IsVisible属性用于获取页面可见状态
- 从IUiPageBehavior接口中移除RequiresMask属性
- 为ClearLayer和GetFromLayer方法添加完整的XML文档注释
- 更新CanvasItemUiPageBehavior实现以支持新的IsVisible属性
- 优化UI层级检查逻辑,提高可见性判断准确性
2026-02-07 19:49:13 +08:00
GeWuYou
bcb82b1473
chore(workflow): 更新许可证合规工作流配置
...
- 移除条件检查逻辑以简化工作流触发
- 修改许可证徽章更新条件为标签版本发布
- 精简工作流步骤配置
2026-02-07 09:45:31 +08:00
GeWuYou
177552a730
docs(coroutine): 更新协程扩展方法和定时器类的文档注释
...
- 为 CoroutineExtensions 类添加了总体功能描述
- 完善了 RunCoroutine 方法的参数和返回值文档注释
- 补充了 CancelWith 方法族的参数说明和返回值描述
- 优化了 AllNodesAlive 私有方法的文档注释格式
- 将 Timing 类中的重复错误消息提取为静态只读字段
- 统一了调度器属性的异常消息为常量引用
- [release ci]
2026-02-07 08:57:48 +08:00
gewuyou
bbb4636967
Add explicit UI/game coroutine helpers
2026-02-07 08:54:23 +08:00
GeWuYou
2b5610a659
chore(workflow): 更新许可证合规工作流配置
...
- 移除对 CI 构建测试工作流完成的依赖触发
- 为 GitHub Release 上传步骤添加标签名称参数
- 简化推送事件触发条件,移除通配符标签匹配
- 保留内容写入权限配置
2026-02-07 00:40:17 +08:00
GeWuYou
e57597146f
chore(workflow): 移除许可证合规工作流中的标签名称配置
...
- 删除了 softprops/action-gh-release 中的 tag_name 配置项
- 保持 GitHub Release 的上传功能不变
- 简化了工作流配置以避免标签命名冲突
- [release ci]
2026-02-06 23:55:00 +08:00
GeWuYou
0a48fb4652
fix(ui): 修复CanvasItemUiPageBehavior暂停逻辑问题
...
- 添加BlocksInput检查条件,避免输入被错误阻止
- 修复暂停状态下节点处理、物理处理和输入处理的控制逻辑
- [release ci]
2026-02-06 23:50:44 +08:00
GeWuYou
f1e45385c4
refactor(ui): 重构UI路由基础功能
...
- 移除Show方法中基于实例的显示功能,简化接口设计
- 改进Hide方法实现,支持永久销毁和临时隐藏两种模式
- 添加Resume方法用于恢复已隐藏的UI界面
- 更新XML文档注释,提供更清晰的参数说明
- 优化代码结构和注释,提升代码可读性
- 调整IUiRouter接口定义,保持API一致性
- [release ci]
2026-02-06 23:14:51 +08:00
GeWuYou
89227ff802
refactor(ui): 优化UiRouterBase中的页面销毁和隐藏逻辑
...
- 区分永久移除和临时隐藏的处理流程,销毁时才调用OnExit方法
- 重构日志消息以更准确反映操作类型
- 简化离开守卫检查的循环逻辑,提高代码可读性
- 添加注释说明销毁与隐藏的不同行为
- 调整日志输出格式,保持一致性
- [release ci]
2026-02-06 23:05:09 +08:00
GeWuYou
aaf728ad1a
refactor(ui): 移除UI实例管理策略和缓存功能
...
- 移除UiInstancePolicy枚举类型
- 从Push、Replace和Show方法中移除instancePolicy参数
- 从IUiFactory接口中移除缓存相关方法和GetOrCreate方法
- 简化GodotUiFactory实现类,移除缓存池和实例管理逻辑
- 将Pop操作中的Cache策略重命名为Suspend
- 将Exclusive策略描述从Pause+Hide改为Pause+Suspend
- 修复CanvasItemUiPageBehavior中OnResume方法的节点有效性检查
- [release ci]
2026-02-06 22:39:49 +08:00
GeWuYou
f1c3bc5a1d
refactor(scene): 更新场景路由器接口继承系统接口
...
- 为 ISceneRouter 接口添加 GFramework.Core.Abstractions.system 命名空间引用
- 让 ISceneRouter 接口继承 ISystem 接口以统一系统管理规范
- [release ci]
2026-02-05 21:24:48 +08:00
dependabot[bot]
4647d1f184
build(deps): bump actions/setup-dotnet from 4 to 5
...
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet ) from 4 to 5.
- [Release notes](https://github.com/actions/setup-dotnet/releases )
- [Commits](https://github.com/actions/setup-dotnet/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-05 21:05:04 +08:00
dependabot[bot]
6f88719648
Bump Meziantou.Analyzer from 2.0.296 to 2.0.298
...
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.298
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.298
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.298
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.298
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 2.0.298
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-05 21:04:18 +08:00
dependabot[bot]
bd5feca90f
build(deps): bump actions/upload-artifact from 4 to 6
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-05 21:02:56 +08:00
dependabot[bot]
6d6bf9a7b2
build(deps): bump trufflesecurity/trufflehog from 3.92.5 to 3.93.0
...
Bumps [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog ) from 3.92.5 to 3.93.0.
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases )
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/v3.92.5...v3.93.0 )
---
updated-dependencies:
- dependency-name: trufflesecurity/trufflehog
dependency-version: 3.93.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-05 21:02:38 +08:00
dependabot[bot]
91bb7020d6
build(deps): bump actions/checkout from 4 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-05 21:02:16 +08:00
dependabot[bot]
548377f054
build(deps): bump github/codeql-action from 3 to 4
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-05 21:01:57 +08:00
GeWuYou
917a95e245
refactor(scene): 重构场景路由系统架构
...
- 移除原有的 ISceneLoader 接口定义
- 新增 SceneRouterBase 抽象基类实现场景路由基础功能
- 添加 ISceneRoot 接口定义场景根节点操作规范
- 创建 ISceneRouter 接口统一场景路由操作契约
- 实现场景替换和卸载的核心逻辑
- 添加场景切换前后钩子方法支持扩展功能
- [release ci]
2026-02-05 20:50:24 +08:00
GeWuYou
41661c8a6f
refactor(scene): 更新场景加载器接口继承实用工具接口
...
- 为 ISceneLoader 接口添加对 IUtility 的继承
- 在文件顶部添加 GFramework.Core.Abstractions.utility 命名空间引用
- 使场景加载器接口具备实用工具的基本功能
2026-02-05 20:35:11 +08:00
GeWuYou
a4dcb19f8f
feat(scene): 添加场景加载器接口定义
...
- 定义了 ISceneLoader<T> 接口用于管理场景加载、替换和卸载操作
- 提供 Current 属性获取当前加载的场景对象
- 添加 Replace 方法用于替换当前场景为指定键对应的场景
- 添加 Unload 方法用于卸载当前加载的场景
- 包含完整的 XML 文档注释说明接口功能和方法用途
- 遵循 Apache 2.0 许可证协议并添加版权信息
2026-02-05 20:32:56 +08:00
gewuyou
29fcfbe0a1
docs: unify module docs navigation and package guidance
2026-02-05 20:27:54 +08:00
gewuyou
bb971e98ae
docs: rewrite root README for accuracy and structure
2026-02-05 20:27:54 +08:00
GeWuYou
c8be4b317d
refactor(core): 将命令和查询总线重构为执行器模式
...
- 将 CommandBus 重命名为 CommandExecutor 并更新相关接口
- 将 QueryBus 重命名为 QueryExecutor 并更新相关接口
- 将 AsyncQueryBus 重命名为 AsyncQueryExecutor 并更新相关接口
- 更新 ArchitectureContext 中的服务引用和错误消息
- 修改 ArchitectureServices 中的私有字段和公共属性名称
- 更新所有测试文件中的实例变量和服务引用
- 修改测试类名称以匹配新的执行器命名
- 更新状态机系统测试中的容器注册项
2026-02-05 12:46:44 +08:00
GeWuYou
7481011780
feat(Timing): 添加预热函数优化初始化性能
...
- 添加 Prewarm 方法用于提前触发实例初始化
- 通过访问 Instance 属性避免首次使用时的性能开销
- [release ci]
2026-02-05 09:36:02 +08:00
GeWuYou
04c76d3d2c
feat(workflow): 添加许可证合规检查工作流
...
- 配置工作流在推送标签时触发
- 添加注释说明合规产物上传到 GitHub Actions 工件存储
- 实现将合规产物上传至 GitHub Release 功能
- 配置上传 NOTICE、THIRD_PARTY_LICENSES.md 和 SBOM 文件
- 设置 GITHUB_TOKEN 环境变量用于授权发布操作
2026-02-05 08:02:21 +08:00
GeWuYou
013fd1ee02
feat(setting): 添加设置模型初始化状态检查功能
...
- 在 ISettingsModel 接口中新增 IsInitialized 属性
- 提供布尔值返回当前对象初始化状态
- 支持外部调用方检查模型是否已完成初始化
- [release ci]
2026-02-04 20:47:52 +08:00
GeWuYou
5cf6c12c52
chore(dependencies): 更新 Meziantou.Analyzer 包版本
...
- 将 GFramework.Core.Abstractions 项目中的 Meziantou.Analyzer 从 2.0.286 更新到 2.0.296
- 将 GFramework.Game.Abstractions 项目中的 Meziantou.Analyzer 从 2.0.286 更新到 2.0.296
- 将 GFramework.Godot.SourceGenerators.Abstractions 项目中的 Meziantou.Analyzer 从 2.0.286 更新到 2.0.296
- 将 GFramework.SourceGenerators.Abstractions 项目中的 Meziantou.Analyzer 从 2.0.286 更新到 2.0.296
- 将 GFramework.SourceGenerators.Common 项目中的 Meziantou.Analyzer 从 2.0.286 更新到 2.0.296
2026-02-04 20:45:12 +08:00
GeWuYou
1ebbc83807
feat(setting): 添加设置模型初始化状态检查功能
...
- 新增 IsInitialized 属性用于检查对象初始化状态
- 为 GetData 方法添加泛型类型参数注释说明
- 添加 AllData 方法返回所有设置数据实例集合
- 优化 AllApplicators 方法的文档注释
- 新增 RegisterMigration 方法的详细文档说明
- 在 Initialize 方法末尾设置初始化状态标记
- [release ci]
2026-02-04 20:29:15 +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
222c481ffa
chore(workflow): 更新工作流配置
...
- 修改 auto-tag.yml 中的触发工作流名称从 "License Compliance (Feluda)" 到 "CI - Build & Test"
- 移除 license-compliance.yml 中的上传合规产物步骤
- 在 publish-docs.yml 中启用 workflow_dispatch 触发方式
2026-02-03 21:39:30 +08:00
GeWuYou
28b750b0d0
chore(workflow): 移除许可证扫描配置参数
...
- 移除 .feluda.yaml 配置文件依赖
- 简化 feluda 扫描命令执行流程
- 更新工作流许可证合规检查逻辑
- [release ci]
2026-02-03 21:00:39 +08:00
GeWuYou
efd7ababd2
feat(ui): 添加基于实例的UI显示方法
...
- 在UiRouterBase中新增Show方法,支持通过IUiPageBehavior实例显示UI
- 为IUiRouter接口添加对应的Show方法重载签名
- 添加详细的XML文档注释说明参数用途
- 临时禁用publish-docs工作流以解决文档生成问题
- [release ci]
2026-02-03 20:20:41 +08:00
GeWuYou
c27c02a027
build(docfx): 更新文档生成配置
...
- 修改内容文件匹配规则,将api/index.md从通用匹配中分离
- 添加资源文件配置,支持图片资源(png、jpg、jpeg、gif、svg)的处理
- 集成material模板以增强文档外观
- 调整文件路径匹配模式,使用**/*.md替代**.md以确保正确匹配
2026-02-03 15:26:52 +08:00
GeWuYou
6e4d8d99e1
docs(index): 更新文档站点链接路径
...
- 调整了首页导航链接的相对路径,将使用指南链接从 docs/index.md
修改为 ../docs/index.md,API文档链接从 api/index.html 修改为
_site/api/index.html,确保文档站点导航功能正常。
- [release doc]
2026-02-03 11:13:24 +08:00
GeWuYou
d359f661f4
build(docfx): 更新文档构建配置
...
移除了冗余的content配置项,简化了文件路径匹配规则,
统一使用更简洁的glob模式来处理markdown和toc文件
2026-02-03 11:07:50 +08:00
GeWuYou
afa544b79c
feat(workflow): 添加手动触发发布文档工作流功能
...
- 添加 workflow_dispatch 触发器,允许手动触发发布文档工作流,
方便在需要时手动执行文档发布操作。
- [release doc]
2026-02-03 10:58:41 +08:00
GeWuYou
1ea0eac6a2
feat(docs): 配置文档生成系统并添加框架文档
...
- 配置docfx.json以支持多项目源文件生成API文档
- 添加filterConfig.yml过滤测试和内部实现相关代码
- 创建主页index.md介绍GFramework框架特性
- 配置多层级目录结构toc.yml组织文档导航
- 设置构建输出路径和全局元数据配置
2026-02-03 08:56:24 +08:00
GeWuYou
624f193a2c
chore(workflow): 更新许可证合规工作流配置
...
- 移除 completed 状态检查
- 删除默认值设置
- 调整权限配置结构
- [release doc]
2026-02-03 08:37:39 +08:00
GeWuYou
4d423b3c67
fix(ci): 修复DocFX文档构建流程
...
- 将docfx命令拆分为metadata和build两个独立步骤
- 添加调试步骤以检查docfx输出目录结构
- 修复工作流中的路径问题确保构建正确执行
2026-02-03 08:31:14 +08:00
GeWuYou
1f1f3dfd8a
build(docs): 重命名文档配置文件
...
- 将根目录下的 docfx.json 配置文件移动到 docfx 子目录中,
以更好地组织项目结构和文档相关配置。
- [release doc]
2026-02-03 08:24:03 +08:00
GeWuYou
f2b5711fc1
fix(workflow): 修复文档发布工作流配置
...
- 修正了 if 条件的位置以确保正确触发
- 保持了标签发布和提交消息触发的功能
- 优化了工作流语法结构
- [release doc]
2026-02-03 08:18:17 +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
3571ba8ced
chore(workflow): 更新工作流配置以优化许可证合规检查
...
- 修改 auto-tag 工作流触发器从 "CI - Build & Test" 到 "License Compliance (Feluda)"
- 移除 license-compliance 工作流中的依赖和权限设置
- 将 license-compliance 工作流的触发方式改为 workflow_run
- 调整 ci 工作流中的内容权限从 write 改为 read
- 在 license-compliance 工作流中添加分支和提交消息条件检查
2026-02-02 22:35:15 +08:00
GeWuYou
dadda8803f
feat(ui): 添加UI层级管理和优化Peek方法
...
- 修改Peek方法返回类型为可空IUiPageBehavior?以避免空栈异常
- 在IUiRouter接口中添加完整的UI层级管理功能
- 新增Show方法支持在指定层级显示UI(Overlay/Modal/Toast等)
- 新增Hide方法支持隐藏指定层级的UI
- 新增ClearLayer方法支持清空指定层级的所有UI
- 新增GetFromLayer方法支持从指定层级获取UI实例
- 新增HasVisibleInLayer方法支持判断指定层级是否存在可见UI
- 完善UI路由系统的层级控制能力
- [release ci]
2026-02-02 22:19:31 +08:00
GeWuYou
3ad4913f9e
refactor(architecture): 优化架构上下文的构造函数和服务获取逻辑
...
- 使用主构造函数简化 ArchitectureContext 的初始化
- 移除私有字段赋值的冗余代码
- 添加 GetOrCache 方法的详细注释说明
- 为关键业务逻辑添加中文注释
- 保持服务缓存和服务获取的核心功能不变
2026-02-02 21:59:31 +08:00
GeWuYou
75ad00dbcb
chore(ci): 更新许可证合规工作流配置
...
- 在feluda命令中添加配置文件参数
- 修正许可证扫描命令以使用自定义配置
2026-02-02 21:27:03 +08:00
GeWuYou
2f0a619e81
refactor(workflow): 重构许可证合规检查流程
...
- 将许可证扫描逻辑提取到独立的 license-compliance.yml 工作流文件
- 在 auto-tag 工作流中添加 license-compliance 作业依赖
- 移除 ci.yml 中的 Feluda 许可证扫描相关步骤
- 移除 publish.yml 中的 Feluda 设置和 SBOM 生成步骤
- 更新工件上传配置以包含 SBOM 验证文件
- 添加工作流输出标记用于许可证合规检查触发
2026-02-02 21:25:08 +08:00
GeWuYou
6226ba0ec0
fix(ci): 修复工作流中的许可证扫描配置
...
- 修正了更新徽章条件中的提交消息检查语法
- 修复了 GitHub Actions 工作流表达式以正确匹配提交信息
2026-02-02 21:03:25 +08:00
GeWuYou
c1f906af61
chore(ci): 更新工作流以支持条件徽章更新
...
- 修改了许可证扫描器的徽章更新逻辑
- 添加了 [release ci] 提交消息条件检查
- 确保仅在特定提交标记时更新徽章状态
2026-02-02 21:01:22 +08:00
GeWuYou
7d6ec71989
chore(licenses): 添加许可证覆盖配置
...
- 为 NETStandard.Library 添加 MIT 许可证覆盖
- 为 Microsoft.NETCore.Platforms 添加 MIT 许可证覆盖
- 为 System.Buffers 添加 MIT 许可证覆盖
- 为 System.Memory 添加 MIT 许可证覆盖
- 为 System.Numerics.Vectors 添加 MIT 许可证覆盖
- 为 System.Threading.Tasks.Extensions 添加 MIT 许可证覆盖
- 为 System.ComponentModel.Composition 添加 MIT 许可证覆盖
- 为 System.Security.Cryptography.ProtectedData 添加 MIT 许可证覆盖
- 为 System.Security.Permissions 添加 MIT 许可证覆盖
- 为 Microsoft.VisualStudio.Validation 添加 MIT 许可证覆盖
2026-02-02 20:58:18 +08:00
GeWuYou
43f6280ff8
chore(ci): 添加Feluda许可证扫描器不兼容许可证检查
...
- 在CI工作流中集成Feluda许可证扫描器
- 配置不兼容许可证检测功能
- 设置许可证扫描仅在推送到main分支时更新徽章
2026-02-02 20:24:59 +08:00
GeWuYou
6bc11de132
chore(ci): 在feluda命令中添加--incompatible参数
...
- 为feluda工具添加--incompatible参数以检查兼容性问题
2026-02-02 20:13:18 +08:00
GeWuYou
b8b92faf3f
docs(readme): 更新 Feluda 扫描链接指向正确的仓库
...
- 将 Feluda 扫描徽章的链接从 anistark/feluda 更新为 GeWuYou/GFramework
- 保持了原有的扫描状态显示功能
2026-02-02 20:11:11 +08:00
GeWuYou
40d83e69af
chore(workflow): 更新 .NET 版本并简化 NUGET 用户配置
...
- 将 .NET 版本从 9.0.x 更新到 10.x
- 移除 NUGET_USER 配置中的注释,保持配置简洁
- [skip ci]
2026-02-02 20:06:35 +08:00
GeWuYou
8ab079f2c0
docs: update Feluda scan badge
2026-02-02 11:59:55 +00:00
GeWuYou
ffc75099c8
chore(ci): 更新许可证检查配置以禁用严格模式
...
- 将 fail-on-restrictive 设置为 false
- 将 fail-on-incompatible 设置为 false
- 添加注释说明配置变更原因
2026-02-02 19:51:03 +08:00
GeWuYou
22eebb6e2d
chore(ci): 更新许可证检查工作流配置
...
- 在许可证检查步骤中启用详细输出模式
- 保持现有的许可证类型和失败策略设置不变
- 维持主分支推送时的徽章更新功能
2026-02-02 19:25:09 +08:00
GeWuYou
58de08d260
docs: update Feluda scan badge
2026-02-02 09:16:07 +00:00
GeWuYou
01a88cc223
chore(workflow): 调整许可证检查工作流配置
...
移除硬编码的update-badge选项,改用条件表达式控制仅在main分支push时更新徽章,
确保许可证检查徽章只在主分支推送时自动更新
2026-02-02 17:08:13 +08:00
GeWuYou
09e194a2bf
feat(ci): 集成Feluda工具实现合规性检查和SBOM生成
...
- 在CI工作流中添加Feluda工具设置和合规性文件生成
- 集成SBOM生成功能,支持SPDX和CycloneDX格式
- 添加SBOM文件验证步骤并生成验证报告
- 实现许可证合规工件上传,包含通知文件和第三方许可证
- 更新发布工作流以包含合规性信息和SBOM文件到发布内容
- 修改权限设置以支持内容写入操作
2026-02-02 15:03:02 +08:00
GeWuYou
ed51722746
feat(ci): 集成Feluda许可证扫描器实现合规性检查
...
- 添加Feluda许可证扫描工作流步骤,设置Apache-2.0项目许可证
- 配置许可证合规性检查参数,启用限制性和不兼容许可证失败机制
- 实现SBOM文件自动生成,支持SPDX和CycloneDX两种格式
- 集成SBOM文件验证步骤并生成验证结果报告
- 添加许可证合规相关工件文件上传功能
- 在README中添加Feluda扫描徽章标识
2026-02-02 14:13:46 +08:00
GeWuYou
adc28efa26
chore(ci): 添加安全事件写入权限
...
- 在 GitHub Actions 工作流中添加 security-events 写入权限
- 允许工作流将安全相关事件写入存储库的安全功能
- 提升代码扫描和安全分析的集成能力
2026-02-02 12:29:27 +08:00
GeWuYou
5c8de84256
chore(ci): 更新CI工作流配置以集成MegaLinter和SARIF报告
...
- 在.gitleaks.toml中添加测试凭证白名单注释说明
- 为MegaLinter步骤添加代码质量检查和安全扫描功能
- 配置FAIL_ON_ERROR环境变量在main分支上失败时停止
- 添加SARIF报告上传步骤到GitHub安全中心
- 更新TruffleHog扫描步骤的中文注释说明
2026-02-02 12:20:56 +08:00
GeWuYou
b4b26517ad
chore(config): 更新 gitleaks 配置文件
...
- 修改 .gitleaks.toml 配置规则
- 调整敏感信息检测策略
- 优化配置文件结构以提高扫描效率
- 添加新的排除模式和白名单规则
2026-02-02 12:11:29 +08:00
GeWuYou
f2f2083dd1
chore(config): 更新 gitleaks 配置文件格式
...
- 将路径匹配从单引号格式改为双引号格式
- 将正则表达式从单引号格式改为双引号格式
- 在 allowlist 部分添加描述性空行以提高可读性
- 统一配置文件的字符串引用格式为双引号
2026-02-02 11:45:53 +08:00
GeWuYou
defcca85f3
chore(security): 添加 gitleaks 配置文件以忽略测试密钥
...
- 配置 allowlist 忽略 docs 目录下的文件
- 添加对 .*Test.*\.json 文件的忽略规则
- 配置 Development 相关文件的忽略路径
- 添加 FAKE_.*_KEY 正则表达式到忽略列表
- 添加 TEST_.*_TOKEN 正则表达式到忽略列表
- 设置描述信息为 "Ignore test/demo secrets"
2026-02-02 11:19:46 +08:00
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]
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]
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]
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]
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]
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]
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]
2026-01-31 23:11:55 +08:00
GeWuYou
f226a355b2
feat(setting): 添加设置数据存储功能
...
- 在 SettingsModel 中添加了数据存储逻辑
- 实现了应用器数据的自动注册机制
- 确保设置数据与应用器类型的正确关联
- 优化了设置模型的数据管理流程
- [release ci]
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]
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]
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]
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]
2026-01-30 22:23:39 +08:00
GeWuYou
70421159e4
refactor(setting): 优化设置应用器注册方法的泛型参数约束
...
- 修改 RegisterApplicator 方法的参数类型从 IResetApplyAbleSettings 为具体泛型类型 T
- 移除抽象层中的方法约束,统一实现层和抽象层的方法签名
- 保持泛型约束 T : class, IResetApplyAbleSettings 不变
- 确保接口和实现类的方法定义一致性
- [release ci]
2026-01-30 22:05:04 +08:00
GeWuYou
209c331d1f
refactor(setting): 移除设置应用器注册方法中的new()约束
...
- 从RegisterApplicator方法的泛型约束中移除new()要求
- 修改实现类SettingsModel中的方法签名以匹配接口变更
- 更新抽象层ISettingsModel中的方法约束定义
- 保持原有功能完整性的同时提高代码灵活性
- [release ci]
2026-01-30 21:48:57 +08:00
GeWuYou
6172ce96f1
fix(setting): 修复设置应用器注册方法的泛型约束
...
- 将RegisterApplicator方法的泛型约束从ISettingsData改为IResetApplyAbleSettings
- 更新接口定义中的泛型参数约束
- 修正相关XML文档注释中的接口名称描述
- [release ci]
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]
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]
2026-01-29 23:15:30 +08:00
GeWuYou
cc8f40ee44
style(formatter): 统一代码格式化和文档缩进
...
- 调整文档文件中的缩进格式一致性
- 修正所有C#接口和类定义中的注释缩进
- 移除测试代码中不必要的构造函数参数
- 重构条件语句减少嵌套层级
- 规范方法体的大括号使用风格
- 整理全局命名空间声明格式
- 优化方法实现的代码结构和可读性
- [release ci]
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]
2026-01-29 21:51:41 +08:00
GeWuYou
7e4d93aa2b
refactor(settings): 修改UnifiedSettingsRepository类访问修饰符
...
- 将UnifiedSettingsRepository类从sealed改为普通class
- 移除密封限制以支持继承扩展需求
- [release ci]
2026-01-29 21:12:19 +08:00
GeWuYou
6c2e89bc4f
feat(data): 添加统一设置仓库和运行时类型序列化支持
...
- 新增 UnifiedSettingsRepository 类实现单一文件存储所有设置数据
- 扩展 JsonSerializer 实现 IRuntimeTypeSerializer 接口支持运行时类型序列化
- 修改 DataRepositoryOptions 默认键名前缀为空字符串
- 实现异步加载、保存、删除和检查数据功能
- 添加数据事件通知机制支持
- 实现线程安全的数据缓存和文件操作
- [release ci]
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
GeWuYou
8ea9752fc8
chore(ci): 更新 .NET 工具命令参数
...
- 将 DotnetCtrfJsonReporter 的输出参数从 -o 替换为 -d 和 -f
- 为 ctrf 输出目录添加显式指定参数
- 为输出文件名添加格式化参数
- 保持测试报告生成功能在测试后执行的逻辑不变
2026-01-29 20:02:24 +08:00
GeWuYou
fe9f610c93
fix(ci): 修复CTRF报告生成脚本中的输出路径配置
...
- 为每个TRX文件指定正确的JSON输出路径
- 使用basename提取文件名并构建输出路径
- 添加目录创建确保输出目录存在
- 改进处理消息显示源和目标文件名
- 确保所有TRX文件都能正确转换为JSON格式
2026-01-29 19:59:33 +08:00
GeWuYou
c01ab04292
refactor(ci): 分离核心和源生成器测试流程
...
- 将单一测试步骤拆分为核心测试和源生成器测试两个独立步骤
- 为核心测试指定特定的程序集GFramework.Core.Tests
- 为源生成器测试指定特定的程序集GFramework.SourceGenerators.Tests
- 更新测试报告文件命名规则以区分不同测试类型
- 移除合并后的CTRF报告生成步骤
2026-01-29 19:54:47 +08:00
GeWuYou
b9e7caeada
fix(ci): 修复测试报告生成逻辑
...
- 修改TRX文件名生成方式,避免并发测试时文件冲突
- 更新CTRF报告生成逻辑,支持处理多个测试结果文件
- 添加目录创建确保CTRF输出路径存在
- 改进循环处理所有TRX文件而不是仅处理最新一个
2026-01-29 19:50:19 +08:00
GeWuYou
0bc4e0d8ff
fix(ci): 简化测试报告生成逻辑
...
- 修改TRX文件名生成方式,使用变量存储报告文件名
- 移除循环处理多个TRX文件的逻辑,改为只处理最新文件
- 删除调试步骤以简化工作流配置
- 保持测试报告功能正常运行
2026-01-29 19:45:51 +08:00
GeWuYou
ed72103c59
fix(ci): 修复测试报告生成逻辑
...
- 更新 TRX 日志文件名格式以包含程序集和框架信息
- 修改 CTRF 报告生成脚本以处理多个测试结果文件
- 添加循环遍历所有 TRX 文件并生成对应 CTRF 报告
- 移除只处理最新单个文件的限制
2026-01-29 19:34:28 +08:00
GeWuYou
dee89e1134
feat(ci): 更新CI工作流以支持多版本.NET SDK
...
- 添加.NET 9和.NET 10版本的支持
- 将原有的.NET SDK设置步骤重命名为.NET 8
- 配置多个.NET版本以进行兼容性测试
- 更新actions/setup-dotnet到v5版本
- 优化SDK安装流程以提高构建效率
2026-01-29 19:27:46 +08:00
GeWuYou
c46cfa265e
fix(ci): 修复CI工作流中的.NET SDK版本配置和测试报告生成
...
- 修正了.NET SDK版本配置,支持多个版本并移除重复配置
- 更新了测试结果文件命名格式以避免冲突
- 修复了CTRF报告生成的路径和参数配置
- 移除了调试步骤中的条件检查逻辑
2026-01-29 19:23:34 +08:00
GeWuYou
524ceff770
chore(ci): 简化CTRF报告生成配置
...
移除手动创建目录和多参数调用方式,改用简化的命令行参数
直接指定TRX文件路径,提高构建脚本的可读性和维护性
2026-01-29 17:32:24 +08:00
GeWuYou
9a158d6c7e
feat(ci): 添加CTRF报告生成和调试步骤
...
- 创建ctrf输出目录
- 使用DotnetCtrfJsonReporter工具生成CTRF格式测试报告
- 添加调试步骤验证CTRF文件生成
- 配置工具参数以正确处理TRX文件并输出JSON报告
2026-01-29 17:24:48 +08:00
GeWuYou
c61f19126a
feat(ci): 添加.NET工具恢复步骤
...
在CI工作流中添加了.NET本地工具恢复步骤,确保构建过程中使用的本地工具能够正确安装和配置。
2026-01-29 17:15:29 +08:00
GeWuYou
cfef1e1d03
feat(ci): 集成测试报告生成和发布功能
...
新增DotnetCtrfJsonReporter工具来生成JSON格式的测试报告,
并添加GitHub测试报告发布步骤,支持PR报告、摘要对比、
洞察分析、易失率、失败率和最慢测试等多维度报告展示。
2026-01-29 17:10:59 +08:00
GeWuYou
f2b3c8663e
feat: 添加 dotnet 工具配置文件
...
新增 .config/dotnet-tools.json 配置文件,集成 DotnetCtrfJsonReporter 工具。
[skip ci]
2026-01-29 17:05:18 +08:00
GeWuYou
7a1b43dff1
feat(ci): 集成TruffleHog敏感信息扫描工具
...
在CI工作流中添加TruffleHog OSS扫描步骤,用于检测代码库中的敏感信息泄露,
如API密钥、密码等。该工具会比较基础分支和当前提交之间的差异,
扫描新增内容中是否包含敏感数据,提升代码安全性。
2026-01-29 15:59:39 +08:00
dependabot[bot]
717ea7a161
chore(deps): bump actions/cache from 3 to 5
...
Bumps [actions/cache](https://github.com/actions/cache ) from 3 to 5.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v3...v5 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 13:08:02 +08:00
dependabot[bot]
47b9007793
chore(deps): bump actions/checkout from 4 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 13:02:07 +08:00
dependabot[bot]
d7a5a3fde4
chore(deps): bump actions/setup-dotnet from 4 to 5
...
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet ) from 4 to 5.
- [Release notes](https://github.com/actions/setup-dotnet/releases )
- [Commits](https://github.com/actions/setup-dotnet/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 12:57:08 +08:00
GeWuYou
d5b05c1578
chore(workflow): 更新 GitHub Actions 工作流配置
...
- 移除 auto-tag 工作流中的 ref 参数配置
- 清理工作流中多余的检查跳过关键词步骤
- 为 ci 工作流添加内容读取权限配置
- 优化工作流触发条件和权限设置
2026-01-29 12:42:22 +08:00
GeWuYou
411cac4028
chore(workflow): 更新自动标签工作流以支持发布触发条件
...
- 在 auto-tag 工作流中添加对 [release ci] 提交消息的检查
- 仅当提交消息包含 [release ci] 时才执行标签创建
- 在发布工作流中启用自动生成发布说明功能
- 配置 GitHub Release 操作以自动生成版本发布说明
- [skip ci]
2026-01-29 12:28:59 +08:00
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 属性确保仓库实例不为空
2026-01-28 23:01:46 +08:00
GeWuYou
58291fd85c
feat(setting): 添加设置迁移器注册和异步初始化功能
...
- 新增 RegisterMigration 方法用于注册设置迁移器
- 新增 InitializeAsync 方法支持异步初始化指定类型的设置
- 扩展了 ISettingsModel 接口以支持设置迁移功能
- 添加了对设置类型数组的批量异步初始化支持
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接口定义
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 标记字段和相关的资源清理代码
- 简化类结构,不再需要手动管理资源释放
- 依赖垃圾回收器自动处理内存管理
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显示
- 确保新功能仅在目标框架版本下可用
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文档注释
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
- 统一所有项目中的代码分析器版本
- 保持依赖包版本一致性
2026-01-27 19:03:20 +08:00
GeWuYou
cfb55972b1
test(coroutine): 更新 WaitForTask 测试以使用 TaskCompletionSource
...
- 将测试中的 Task.Run 替换为 TaskCompletionSource
- 确保测试初始状态检查的准确性
- 改进测试的可靠性和可预测性
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 类处理带输入参数的同步查询
2026-01-26 13:03:50 +08:00
GeWuYou
7e5036ae76
test(coroutine): 添加协程扩展方法和等待所有协程的单元测试
...
- 添加 CoroutineExtensionsTests 测试类,覆盖 RepeatEvery、ExecuteAfter、Sequence、ParallelCoroutines 和 WaitForSecondsWithProgress 方法
- 添加 WaitForAllCoroutinesTests 测试类,验证 WaitForAllCoroutines 的初始化、IsDone 属性、空句柄处理等功能
- 实现协程调度器集成测试,验证多协程并发执行场景
- 添加边界条件测试,包括空数组、null 参数、负数参数等情况
- 实现异常处理和特殊状态测试,如暂停恢复、终止协程等场景
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 文件及其相关事件定义
- 移除架构销毁开始、销毁完成和初始化失败事件的发送逻辑
- 更新测试代码移除对已删除事件的依赖
2026-01-24 09:15:31 +08:00
GeWuYou
7314bf03d0
feat(coroutine): 添加基于条件和取消令牌的重复调用功能
...
- 新增RepeatCallForever方法支持条件函数参数
- 添加CancellationToken参数支持取消令牌控制
- 重构原有RepeatCallForever方法保持向后兼容
- 添加详细的XML文档注释说明参数和返回值
- 实现基于条件判断的循环执行逻辑
- 实现基于取消令牌的循环执行控制
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测试方法
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现在是可选的
- 格式化代码缩进和换行以提高可读性
2026-01-20 19:12:45 +08:00
GeWuYou
039152438b
refactor(ui): 重构GodotUiRoot类构造函数和层级管理逻辑
...
- 将层级Z轴顺序映射表作为构造函数参数注入
- 移除静态字段LayerZOrderMap,改用实例字段_layerZOrderMap
- 为层级映射表添加详细的XML文档注释和默认值说明
- 修改GetBaseZOrder方法为实例方法并更新内部字段引用
- 优化代码结构和可读性
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
GeWuYou
e972d926a7
feat(ui): 添加UI过渡动画系统
...
添加了完整的UI过渡动画功能,包括:
- 新增UiTransitionAnimation枚举定义各种动画类型
- 扩展IUiRouter接口支持动画策略参数
- 新增IUiTransition接口定义动画播放契约
- 新增UiAnimationPolicy类配置动画行为
- 实现God
2026-01-20 09:36:59 +08:00
GeWuYou
c9f01f5877
feat(ui): 添加UI层级管理和Godot平台实现
...
- 在IUiRoot接口中添加Z-order控制和页面层级管理功能
- 实现Godot平台的UiRoot,支持UI页面的添加、移除和层级排序
- 添加UiLayer枚举定义不同UI层级(Page、Overlay、Modal、Toast、Topmost)
- 在IUiRouter中扩展层级管理方法,支持指定层级显示UI
- 实现UiRouterBase中的层级管理逻辑,包括显示、隐藏、清空等操作
- 添加对GodotSharp包的引用以支持Godot平台功能
2026-01-20 09:14:37 +08:00
GeWuYou
760cc71985
feat(ui): 实现UI实例池化管理和生命周期优化
...
- 添加UI实例管理策略枚举(AlwaysCreate、Reuse、Pooled)
- 在GodotUiFactory中实现缓存池和实例回收机制
- 扩展IUiFactory接口支持预加载、回收和缓存管理功能
- 更新UiRouterBase支持实例策略参数传递
- 重构Pop策略将Hide重命名为Cache以明确语义
- 移除项目文件中的冗余文件夹引用
- 添加日志记录便于调试和监控实例状态
- 实现批量预加载和全量缓存清理功能
- 优化页面替换逻辑支持实例复用和池化管理
2026-01-20 08:32:53 +08:00
GeWuYou
c2b046e185
chore(logging): 添加系统命名空间引用
...
- 在 AbstractLogger.cs 中添加 System 命名空间引用
- 在 ConsoleLogger.cs 中添加 System 和 System.IO 命名空间引用
- 统一日志模块的命名空间导入规范
2026-01-20 07:55:06 +08:00
GeWuYou
0a924725a5
feat(ui): 更新UiRouterBase以支持基于键值的页面导航
...
- 添加PeekKey方法获取页面栈顶元素的键值
- 修改Peek方法返回IUiPageBehavior对象而不是类型名称
- 更新IsTop和Contains方法使用键值比较替代类型名比较
- 在UiTransitionEvent中使用PeekKey获取来源UI键值
- 为CanvasItemUiPageBehavior添加key参数和Key属性实现
- 在IUiPageBehavior接口中定义Key属性
- 更新IUiRouter接口定义新的PeekKey和Peek方法
- 添加必要的using引用和异步任务配置
2026-01-19 22:23:36 +08:00
GeWuYou
9c27aa5927
feat(ui): 添加对已存在UI页面的路由推送支持
...
- 在UiRouterBase中新增Push方法重载,支持直接推送已创建的IUiPageBehavior实例
- 统一页面推送逻辑到DoPushPageInternal方法,同时处理工厂创建和现有页面
- 更新Replace方法使用新的页面推送逻辑
- 优化日志输出,统一使用View.GetType().Name获取页面类型名称
- 为新功能添加完整的XML文档注释
- 在IUiRouter接口中定义新的Push方法重载签名
2026-01-19 22:00:00 +08:00
GeWuYou
859bd1de41
feat(ui): 添加UI路由栈状态查询功能
...
- 在Push方法中添加栈顶检查,避免重复推送相同UI并记录警告日志
- 移除GetCurrentUiKey私有方法,使用Peek方法替代
- 添加Peek方法获取栈顶UI的类型名称
- 添加IsTop方法判断指定UI是否为栈顶元素
- 添加Contains方法检查UI是否存在于栈中
- 添加Count属性获取栈中元素数量
- 更新IUiRouter接口定义相关方法
- 简化DoClearInternal方法实现逻辑
2026-01-19 21:05:13 +08:00
GeWuYou
766a73f2a9
feat(storage): 实现 Godot 文件存储删除功能
...
- 添加 Godot 命名空间引用
- 实现 Delete 方法的具体逻辑
- 支持 Godot 路径和普通文件路径的删除操作
- 添加文件存在性检查避免删除不存在的文件
- 实现线程安全的锁机制防止并发冲突
- 添加删除完成后的锁清理防止内存泄漏
- 提供详细的错误处理和异常抛出机制
2026-01-19 20:12:20 +08:00
GeWuYou
48c962f874
docs(readme): 更新 NuGet 包链接和添加 zread 集成徽章
...
- 修正了 NuGet 包链接指向正确的 GeWuYou.GFramework 包
- 添加了 zread 集成徽章以支持文档阅读功能
- 保持了原有的项目描述和许可证信息不变
- [skip ci]
2026-01-19 19:36:51 +08:00
GeWuYou
c223fbcb5c
refactor(storage): 重构存储接口实现
...
- 将FileStorage类的接口从IStorage改为IFileStorage
- 添加IFileStorage接口定义,继承自IStorage接口
- 将ScopedStorage类的接口从IStorage改为IScopedStorage
- 添加IScopedStorage接口定义,继承自IStorage接口
- 更新相关命名空间引用
- 修改FileStorage类的XML注释文档
2026-01-19 19:08:59 +08:00
GeWuYou
a30e576c03
feat(test): 完成GFramework.Core模块测试覆盖提升至100%
...
完成GFramework.Core模块测试覆盖详细清单的全面更新,
将测试覆盖率从79.2%提升至100%,新增63个测试用例。
主要变更包括:
- 补充异步命令系统测试,新增AbstractAsyncCommandTests.cs (12个测试)
- 补充异步查询系统测试,新增AsyncQueryBusTests.cs和AbstractAsyncQueryTests.cs (20个测试)
- 补充工具基类测试,新增AbstractContextUtilityTests.cs (11个测试)
- 补充常量验证测试,新增ArchitectureConstantsTests.cs和GFrameworkConstantsTests.cs (16个测试)
- 更新架构系统测试,新增ArchitectureConstantsTests.cs (11个测试)
- 更新CommandBus异步测试,补充4个异步测试方法
- 更新测试统计信息,包含详细的测试用例数量和覆盖率数据
- 完善测试质量总结和最佳实践指南
- [skip ci]
2026-01-19 08:55:13 +08:00
GeWuYou
3859098b7e
refactor(godot): 重构Godot UI注册表相关接口和类名
...
- 将IGodotAssetRegistry重命名为IGodotUiRegistry
- 将GodotAssetRegistry重命名为GodotUiRegistry
- 更新GodotUiFactory中的依赖注入类型
- 为IGodotSceneRegistry接口添加详细的XML文档注释
- 移除GodotUiFactory中不必要的Godot命名空间引用
2026-01-18 22:46:15 +08:00
GeWuYou
825a026c8e
refactor(architecture): 重构架构上下文和服务初始化逻辑
...
- 移除 Architecture 类中的命令总线、查询总线和异步查询总线属性
- 修改 ArchitectureContext 构造函数,仅接收容器参数并实现服务缓存机制
- 添加 GetService 方法用于获取指定类型的服务实例
- 更新所有查询和命令方法使用服务缓存机制
- 修改 ArchitectureServices 构造函数初始化逻辑,将服务注册到容器
- 更新相关测试类中的上下文初始化方式
- 在 GameContext 和相关测试类中实现 GetService 方法
2026-01-18 22:26:02 +08:00
GeWuYou
241efa0363
test(core): 添加核心组件单元测试
...
- 添加ArchitectureConstants类的完整单元测试,验证架构阶段常量和转换
- 添加AbstractAsyncCommand抽象类的单元测试,覆盖异步命令的各种场景
- 添加GFrameworkConstants框架常量的单元测试,确保常量值正确性
- 添加AbstractAsyncQuery抽象类的单元测试,验证异步查询功能
- 添加AsyncQueryBus查询总线的单元测试,测试异步查询发送功能
2026-01-18 21:43:56 +08:00
GeWuYou
db4306a7bc
test(command): 补充命令总线异步方法单元测试
...
- 添加SendAsync方法执行异步命令的测试用例
- 添加SendAsync方法处理null异步命令的异常测试
- 添加SendAsync泛型方法返回值的正确性测试
- 添加SendAsync泛型方法处理null异步命令的异常测试
- 新增TestAsyncCommand测试类用于异步命令验证
- 新增TestAsyncCommandWithResult测试类用于异步返回值验证
- 更新测试覆盖率报告反映异步功能测试需求
2026-01-18 21:12:13 +08:00
GeWuYou
1c1385ee24
feat(architecture): 添加异步查询总线支持
...
- 在Architecture类中添加AsyncQueryBus属性
- 在ArchitectureContext中添加异步查询执行方法SendQueryAsync
- 在ArchitectureServices中添加AsyncQueryBus服务实例
- 扩展IArchitectureContext接口以包含异步查询方法
- 扩展IArchitectureServices接口以包含异步查询总线
- 更新ArchitectureContext构造函数以接受异步查询总线参数
- 为ArchitectureContextTests添加异步查询总线相关测试用例
- 更新测试中的构造函数调用以包含新的异步查询总线参数
2026-01-18 20:53:44 +08:00
GeWuYou
15844b7077
refactor(query): 将IAsyncQueryBus接口移动到GFramework.Core.Abstractions模块
...
- 将IAsyncQueryBus.cs文件从GFramework.Core/query重命名为GFramework.Core.Abstractions/query
- 更新命名空间从GFramework.Core.query到GFramework.Core.Abstractions.query
- 移除无用的GFramework.Core.Abstractions.query using引用
- 添加System.Threading.Tasks命名空间引用
2026-01-18 20:41:48 +08:00
GeWuYou
42ddb80248
feat(core): 添加异步查询系统并优化命令系统实现
...
- 新增 AbstractAsyncQuery 基类支持异步查询操作
- 实现 AsyncQueryBus 和 IAsyncQueryBus 查询总线功能
- 添加 IAsyncQuery 接口定义异步查询契约
- 重构 CommandBus 的 SendAsync 方法移除不必要的 await
- 为 AbstractAsyncCommand 添加完整 XML 文档注释
- 更新 TEST_COVERAGE_PLAN.md 反映测试覆盖率提升至 91.5%
2026-01-18 20:39:23 +08:00
GeWuYou
1fb1334d88
refactor(template): 移除页面控制器模板中的接口前缀
...
- 移除了 OnExit 方法的 IUiPage 接口前缀
- 移除了 OnPause 方法的 IUiPage 接口前缀
- 移除了 OnResume 方法的 IUiPage 接口前缀
- 移除了 OnShow 方法的 IUiPage 接口前缀
- 移除了 OnHide 方法的 IUiPage 接口前缀
2026-01-18 20:23:37 +08:00
GeWuYou
078f5c2102
refactor(asset): 移除抽象资源目录工具并重构注册表接口
...
- 删除 AbstractAssetCatalogUtility 类及其所有实现逻辑
- 移除 AssetCatalog 相关结构体和接口定义
- 删除 IAssetCatalogUtility 和 IResourceFactoryUtility 接口
- 移除 AbstractResourceFactoryUtility 和 ResourceLoadUtility 实现
- 重命名 IUiRegistry 接口为 IAssetRegistry 并更新泛型参数说明
- 重命名 GodotUiRegistry 为 GodotAssetRegistry 并更新接口引用
- 创建新的 IGodotAssetRegistry 接口用于PackedScene资源管理
- 创建新的 IGodotSceneRegistry 接口并更新 GodotSceneRegistry 实现
- 更新 GodotUiFactory 中的依赖注入从 IUiRegistry 改为 IAssetRegistry
2026-01-18 20:14:33 +08:00
GeWuYou
3589a0cf2f
feat(registry): 添加通用注册表基础设施并重构UI注册功能
...
- 新增 IKeyValue 接口定义通用键值对数据结构契约
- 创建 IRegistry 接口提供通用注册表功能定义
- 实现 KeyValueRegistryBase 基类提供基于字典的键值对管理
- 添加 GodotSceneRegistry 类管理Godot场景资源
- 重构 GodotUiRegistry 和 GodotUiFactory 使用新的注册表基类
- 移除废弃的 IWritableUiRegistry 接口
- 更新项目文件添加注册表相关目录结构
2026-01-18 16:01:10 +08:00
GeWuYou
bbb8d417f6
refactor(state): 将状态机相关类重命名以统一命名规范
...
- 将 ContextAwareStateMachine 重命名为 StateMachineSystem
- 将 ContextAwareStateMachineTests 重命名为 StateMachineSystemTests
- 将 GameStateMachine 重命名为 GameStateMachineSystem
- 创建新的 IStateMachineSystem 接口继承 ISystem 和 IStateMachine
- 移除 ContextAwareStateMachine 中对 system 的引用
- 将 Context 字段改为私有 _context 字段
- 更新所有测试类中的类型引用以匹配新名称
2026-01-17 21:13:38 +08:00
GeWuYou
193e3f2cfa
chore(deps): 更新 Meziantou.Analyzer 依赖包版本
...
- 将 GFramework.Core.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.Game.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.Godot.SourceGenerators.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.SourceGenerators.Abstractions 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
- 将 GFramework.SourceGenerators.Common 项目中的 Meziantou.Analyzer 版本从 2.0.278 更新到 2.0.279
2026-01-17 20:10:47 +08:00
GeWuYou
8fa3e0ec79
refactor(serializer): 重构序列化器接口继承实用工具接口
...
- 为 ISerializer 接口添加 using 语句引用 GFramework.Core.Abstractions.utility
- 修改 ISerializer 接口继承 IUtility 接口以提供基础实用功能
- 保持原有序列化和反序列化方法定义不变
2026-01-17 20:10:22 +08:00
GeWuYou
fedf7f9c98
refactor(PageControllerTemplate): 移除测试日志代码
...
- 删除了页面进入方法中的测试日志输出
- [skip ci]
2026-01-17 19:49:53 +08:00
GeWuYou
ba91b68c64
feat(architecture): 修改InstallModule和RegisterLifecycleHook方法返回实例
...
- InstallModule方法现在返回安装的模块实例
- RegisterLifecycleHook方法现在返回注册的钩子实例
- 为两个方法添加返回值的XML文档注释
- 更新接口定义以匹配新的返回类型
2026-01-17 19:44:56 +08:00
GeWuYou
3bc7e84af4
feat(template): 添加UI页面控制器类模板
...
- 创建PageControllerTemplate.cs模板文件
- 实现IController、IUiPageBehaviorProvider和IUiPage接口
- 添加页面生命周期管理方法(OnEnter、OnExit、OnPause、OnResume、OnShow、OnHide)
- 集成CanvasItemUiPageBehavior页面行为实现
- 添加ContextAware和Log注解支持
- 提供页面行为实例的懒加载获取功能
2026-01-17 19:40:24 +08:00
GeWuYou
3137c85449
refactor(setting): 重构设置系统异步操作实现
...
- 移除原有的重置设置命令相关文件和方法
- 添加异步命令发送接口的默认实现
- 实现设置系统的异步应用功能
- 优化设置应用逻辑并添加泛型支持
- 统一任务完成状态返回方式
2026-01-17 19:33:15 +08:00
GeWuYou
e29b6da9e1
refactor(ContextAwareExtensions): 重构命令发送方法并优化代码结构
...
- 移除重复的SendCommand同步方法实现
- 统一Context变量命名规范,修复大小写不一致问题
- 调整方法顺序并重新组织代码结构
- 完善IAsyncCommand接口的XML文档注释
- 优化异步命令执行的实现逻辑
2026-01-17 19:26:13 +08:00
GeWuYou
a45bf27c8b
refactor(setting): 重构设置重置功能实现
...
- 移除 SettingsResetEvent 中的旧设置属性,改为仅保存新设置
- 删除 SettingsPersistence 中的重置方法,统一通过命令模式处理
- 在 SettingsSystem 中添加 ResetAsync 方法并集成命令模式
- 为 AudioSettings 和 GraphicsSettings 添加 Reset 方法实现
- 扩展 ISettingsData 接口添加 Reset 方法定义
- 从接口中移除重置相关方法定义
- 在 ISettingsSystem 中添加重置相关的异步方法声明
- 为 AudioBusMapSettings 添加 Reset 方法实现
- 新增 ResetSettingsCommand 和 ResetSettingsInput 实现命令模式
- 添加 SettingsData 抽象基类提供默认的 Reset 实现
- [skip ci]
2026-01-17 16:07:37 +08:00
GeWuYou
e7285b3426
feat(core): 添加异步命令支持功能
...
- 在 ArchitectureContext 中新增 SendCommandAsync 方法支持异步命令执行
- 在 CommandBus 中实现 SendAsync 方法处理异步命令的发送和执行
- 在 ContextAwareExtensions 中扩展 SendCommandAsync 扩展方法
- 更新 IArchitectureContext 接口定义异步命令方法契约
- 更新 ICommandBus 接口定义异步命令执行方法
- 新增 AbstractAsyncCommand 抽象类提供异步命令基类实现
- 定义 IAsyncCommand 接口规范异步命令的行为 contract
2026-01-17 16:03:00 +08:00
GeWuYou
6ef22e5d10
chore(test): 更新测试工作流配置
...
- 移除 trx 日志记录器中的 LogFileName 参数
- 简化测试结果日志配置以提高兼容性
- [skip ci]
2026-01-17 13:48:03 +08:00
GeWuYou
267d7cc84d
feat(setting): 添加设置系统事件通知和重置功能
...
- 在SettingsModel中添加事件相关依赖引用
- 在SettingsPersistence中实现设置加载、保存、删除的事件发送机制
- 添加SettingsDeletedEvent用于通知设置删除操作
- 添加SettingsResetEvent和SettingsResetAllEvent支持设置重置功能
- 在SettingsPersistence中新增ResetAsync和ResetAllAsync方法
- 修改TryApply方法为实例方法并添加设置应用过程的事件通知
- 添加SettingsApplyingEvent和SettingsAppliedEvent跟踪设置应用状态
- [skip ci]
2026-01-17 13:43:15 +08:00
GeWuYou
ce6cb3f8df
refactor(state): 修改状态机接口返回类型支持链式调用
...
- 将Register方法返回类型从void改为IStateMachine
- 将Unregister方法返回类型从void改为IStateMachine
- 在实现类中添加return this语句
- 更新接口定义以匹配新的返回类型
- 实现链式调用功能提升API易用性
2026-01-17 13:20:33 +08:00
GeWuYou
9ae0f63324
feat(setting): 添加设置事件系统和改进设置模型接口
...
- 新增 SettingsAllLoadedEvent 事件类,用于表示所有设置加载完成
- 新增 SettingsAppliedEvent 事件类,用于表示设置应用完成状态
- 新增 SettingsApplyingEvent 事件类,用于表示设置正在应用过程
- 新增 SettingsBatchChangedEvent 事件类,用于表示批量设置变更
- 新增 SettingsBatchSavedEvent 事件类,用于表示批量设置保存
- 新增 SettingsChangedEvent 通用设置变更事件类
- 新增 SettingsLoadedEvent 和 SettingsSavedEvent 事件类
- 在 SettingsModel 中添加对 GFramework.Core.extensions 的引用
- 更新 RegisterApplicator 方法支持链式调用并改进注释说明
- 新增 ISettingsChangedEvent 接口定义设置变更事件基础结构
- 修改 ISettingsModel 接口使 RegisterApplicator 方法支持链式调用
- 修改 ISettingsPersistence 接口继承 IContextUtility 接口
2026-01-17 13:16:50 +08:00
GeWuYou
103792f178
feat(state): 为状态基类添加销毁功能支持
...
- 实现 IDisposable 接口以支持资源清理
- 添加 Destroy 方法用于状态销毁和资源释放
- 在状态机切换时调用 Destroy 替代 Dispose
- 允许子类重写 Destroy 方法执行特定清理操作
- 确保状态切换时正确释放相关资源
2026-01-17 13:08:55 +08:00
GeWuYou
00053e67e5
refactor(architecture): 修改注册方法返回注册成功的实例
...
- 修改RegisterSystem方法返回注册的系统实例
- 修改RegisterModel方法返回注册的模型实例
- 修改RegisterUtility方法返回注册的工具实例
- 更新接口定义以匹配新的返回值类型
- 添加泛型约束说明到XML文档注释
2026-01-17 13:07:56 +08:00
GeWuYou
e656c805e8
fix(ci): 修复.NET测试报告路径配置问题
...
- 修改TRX日志文件名为动态格式{assembly}.trx
- 更新测试结果输出目录为GitHub工作空间路径
- 修正测试报告步骤中的路径引用以匹配实际输出位置
- [skip ci]
2026-01-17 11:51:30 +08:00
GeWuYou
047647b04a
chore(workflow): 更新测试配置以指定统一输出目录
...
为dotnet test命令添加--results-directory参数,
将测试结果输出到./TestResults目录,
便于后续的测试报告处理和分析
2026-01-17 11:41:28 +08:00
GeWuYou
9f505061bd
refactor(Architecture): 移除多余的注释标记
...
移除了Lifecycle Management区域中关于方案1的多余注释标记,
保留了必要的方法文档注释,使代码更加简洁清晰。
2026-01-17 11:38:04 +08:00
GeWuYou
d25b8661ae
feat(.github): 添加.NET测试报告功能
...
- 配置dotnet test命令输出TRX格式的测试结果文件
- 集成dorny/test-reporter@v2来展示.NET测试报告
- 使用TestResults/*.trx路径匹配测试结果文件
- 采用dotnet-trx报告器格式化显示测试统计信息
2026-01-17 11:37:19 +08:00
GeWuYou
44b7a223d8
refactor(architecture): 优化组件初始化和销毁管理机制
...
- 将_pendingInitializableList重命名为_pendingInitializableSet并改为HashSet类型,
实现组件去重功能
- 新增_pendingInitializableList保持组件注册顺序
- 将_disposables重命名为_disposableSet并改为HashSet类型,避免重复注册
- 新增_disposables列表保持销毁顺序
- 在添加可初始化组件时使用原子去重检查
- 在添加可销毁组件时使用原子去重检查
- 清空操作同步清理对应的Set集合
- 销毁组件时按注册逆序进行销毁,确保依赖关系正确处理
2026-01-17 11:30:39 +08:00
GeWuYou
47326085e7
fix(state): 修改状态机切换方法返回值类型并改进转换失败处理
...
- 将ChangeTo方法返回值从void改为bool类型
- 添加转换失败时返回false的逻辑
- 在状态转换被拒绝时调用OnTransitionRejected回调
- 更新接口定义以匹配新的返回值类型
- 修改单元测试以验证转换失败时的返回值
- [skip ci]
2026-01-17 10:06:16 +08:00
GeWuYou
f70254716b
refactor(architecture): 重构架构阶段验证和初始化流程
...
- 修改阶段转换验证逻辑,允许从任何阶段转换到 FailedInitialization
- 调整初始化流程,确保始终进入各个阶段而不仅仅是有组件时才进入
- 重新排列阶段转换顺序,实现线性状态机模式
- 添加架构阶段线性顺序定义数组
- 更新测试用例以验证初始化失败时抛出异常的情况
2026-01-17 10:05:52 +08:00
GeWuYou
177de6d3e6
fix(ci): 更新工作流中的测试命令
...
- 注释掉原始的 dotnet test 命令
- 添加带过滤输出的新测试命令,只显示测试总数、通过数和失败数
- 保持测试执行的正常流程不受影响
2026-01-17 10:00:24 +08:00
GeWuYou
d8df348bec
refactor(architecture): 重构架构生命周期管理和组件注册逻辑
...
- 添加IDisposable接口导入并优化组件生命周期管理
- 引入IInitializable和IDisposable统一管理待初始化和可销毁组件
- 实现统一的组件生命周期注册逻辑RegisterLifecycleComponent方法
- 重构InitializeAllComponentsAsync方法按类型分组初始化组件
- 更新RegisterSystem、RegisterModel和RegisterUtility方法使用新生命周期管理
- 修改Destroy方法使用新的_disposables集合进行有序销毁
- 移除旧的_mModels、_mSystems、_mContextUtilities字段
- 添加ValidateRegistration方法验证注册时机
- 重构InitializeInternalAsync方法使用新的组件初始化流程
- 移除废弃的InitializeComponentAsync方法
- 添加异常处理和错误日志记录机制
2026-01-17 09:14:04 +08:00
GeWuYou
efa069d2f5
refactor(core): 重构核心框架生命周期管理
...
- 引入标准化的生命周期接口体系 (IInitializable, IDisposable, ILifecycle)
- 将上下文工具类的初始化方法改为公共访问权限
- 为上下文工具类添加销毁功能和相关回调方法
- 更新模型和系统接口以使用新的生命周期接口
- 移除原有的独立初始化和销毁方法声明
- 统一框架组件的生命周期管理机制
2026-01-17 08:52:51 +08:00
GeWuYou
b6554c5820
refactor(state): 重构状态机实现以支持状态历史记录和线程安全
...
- 在销毁时添加当前状态退出和所有状态清理逻辑
- 向IStateMachine接口添加状态检查、获取、历史记录等新方法
- 实现线程安全的状态机,添加锁保护并发访问
- 添加状态历史记录功能,支持最大历史数量限制
- 实现GoBack状态回退功能和状态转换验证
- 添加状态切换前后的回调方法
- 在注销状态时从历史记录中移除相关引用
- 添加Unregister方法中的状态转换验证逻辑
2026-01-17 08:43:32 +08:00
GeWuYou
442e8e7088
refactor(setting): 重构设置系统以支持数据和应用器分离
...
- 将SettingsModel内部存储分离为_dataSettings和_applicators两个字典
- 添加IDataSettings接口用于标识纯数据设置
- 修改Get方法为GetData以明确区分数据获取
- 添加RegisterApplicator和GetApplicator方法管理可应用设置
- 更新TryGet方法支持从数据和应用器中查找设置
- 扩展SettingsPersistence支持批量保存和加载所有设置数据
- 将AudioBusMap重命名为AudioBusMapSettings并实现ISettingsData接口
- 修改Godot音频和图形设置适配新的接口变更
- [skip ci]
2026-01-16 23:44:28 +08:00
GeWuYou
516a9e2281
feat(setting): 添加设置持久化功能
...
- 实现了 SettingsPersistence 类提供设置数据的加载、保存、删除等操作
- 定义了 ISettingsPersistence 接口规范设置持久化行为
- 集成存储服务支持异步读写设置节数据
- 实现类型安全的设置节存取机制
- 提供设置节存在性检查和删除功能
- 采用 "Settings_类型名称" 格式生成存储键名
2026-01-16 23:25:33 +08:00
GeWuYou
66d4c8be11
docs(TEST_COVERAGE_PLAN): 更新测试覆盖清单文档
...
- 添加了清单更新部分,说明测试完成后需要更新进度
- 格式化文档开头的空行调整
- 新增更新日志章节
- [skip ci]
2026-01-16 15:47:59 +08:00
GeWuYou
7246fef061
doc(core-tests): 添加架构配置和上下文相关单元测试添加注释
...
- 添加注释
- [skip ci]
2026-01-16 13:15:52 +08:00
GeWuYou
70e16724c9
feat(test): 完成ContextAwareStateMachine的单元测试覆盖
...
- 创建了ContextAwareStateMachineTests.cs,包含12个测试用例
- 覆盖了状态机的集成测试、上下文感知功能、状态变更事件等核心功能
- 测试了Init方法的上下文初始化、状态变更事件发送、多状态注册等功能
- 更新测试覆盖率从~45%提升至~47%,总测试数从286个增加到298个
- 完成第一批所有5个核心
2026-01-16 12:35:50 +08:00
GeWuYou
804ccee329
feat(tests): 添加ArchitectureEventsTests测试类并更新测试覆盖率计划
...
- 新增ArchitectureEventsTests.cs文件,包含9个测试用例
- 覆盖架构生命周期事件、事件订阅、事件顺序等核心功能
- 测试用例包括ArchitectureLifecycleReadyEvent、ArchitectureDestroyingEvent、
ArchitectureDestroyedEvent、ArchitectureFailedInitializationEvent等事件
- 更新TEST_COVERAGE_PLAN.md中的测试统计数据
- 测试覆盖率从44%提升至45%
- 现有测试数从277个增加到286个
- 缺失测试数相应调整为122-178个
- 已完成文件数更新为4/26个
2026-01-16 12:21:22 +08:00
GeWuYou
64f015865a
feat(architecture): 添加ArchitectureServices测试并提升代码覆盖率
...
- 创建ArchitectureServicesTests.cs文件,包含15个测试用例
- 覆盖构造函数、服务初始化、上下文管理、接口实现验证等功能
- 验证多实例间的独立性,包括Container、EventBus、CommandBus、QueryBus
- 修改GetContext方法行为,从抛出异常改为返回null
- 测试覆盖率从42%提升至44%
- 更新测试覆盖清单文档,同步最新测试数据
- [skip ci]
2026-01-16 12:15:11 +08:00
GeWuYou
9c61486dbe
docs(TEST_COVERAGE_PLAN): 添加注释规范说明
...
- 生成的测试类需要有注释说明这个测试类具体有哪些测试
- 测试方法需要有注释说明具体测试的是什么
- 对于复杂逻辑的测试方法,需要有标准的行注释说明逻辑,不要使用行位注释
- 对于类与方法的测试
2026-01-16 11:47:40 +08:00
GeWuYou
c84c573693
feat(architecture): 添加 ArchitectureContext 测试用例
...
- 新增 ArchitectureContextTests.cs 文件,包含 22 个测试用例
- 覆盖构造函数参数验证、命令/查询/事件发送功能
- 包含系统、模型、工具组件获取功能测试
- 更新测试计划文档中的测试数量统计和完成状态
- 修正测试方法命名以匹配实际实现的方法名
- 添加上下文访问安全性验证测试
- [skip ci]
2026-01-16 11:40:36 +08:00
GeWuYou
82e3bd1ec2
feat(tests): 完成ArchitectureConfigurationTests测试用例开发
...
- 创建ArchitectureConfigurationTests.cs文件,包含12个测试用例
- 覆盖默认配置初始化、自定义配置替换、接口实现验证等场景
- 测试日志属性和架构属性的各种配置情况
- 验证实例间属性不共享的安全性
- [skip ci]
更新测试覆盖率从41%提升至42%,完成240个测试用例
2026-01-16 11:01:15 +08:00
GeWuYou
de53fe5413
docs(test): 添加GFramework.Core模块测试覆盖详细清单
...
添加TEST_COVERAGE_PLAN.md文档,包含:
- 当前测试覆盖率统计(41%)和目标(85%+)
- 各子系统测试覆盖情况分析
- 26个缺失测试文件的详细规划
- 分批次执行计划和时间预估
- 预计总共180-236个测试用例
- [skip ci]
2026-01-16 10:48:39 +08:00
GeWuYou
4f1450fc9b
test(state): 添加状态机和状态相关单元测试
...
添加了 StateMachineTests.cs 文件,包含以下测试用例:
- 验证当前状态为空时的行为
- 测试状态注册功能
- 测试状态切换功能,包括 OnEnter 和 OnExit 回调的调用
- 测试状态转换权限控制
- 测试状态注销功能
- 验证多个状态切换的回调逻辑
添加了 StateTests.cs 文件,包含以下测试用例:
- 验证状态类实现 IState 接口
- 测试 OnEnter、OnExit 方法
- 测试 CanTransitionTo 转换规则
- 验证复杂状态转换逻辑
- [skip ci]
2026-01-16 10:18:59 +08:00
GeWuYou
941cbee0ad
feat(state): 添加上下文感知状态基类
...
- 实现了ContextAwareStateBase类,继承IState和IContextAware接口
- 提供状态进入、退出和转换的基础功能
- 添加架构上下文的设置和获取方法
- 支持状态转换规则的自定义实现
- 包含完整的XML文档注释
2026-01-16 08:26:52 +08:00
GeWuYou
c0274074b3
feat(state): 添加状态机系统核心功能实现
...
- 实现了基础状态机StateMachine类,支持状态注册、切换和生命周期管理
- 创建了上下文感知状态机ContextAwareStateMachine,能够感知架构上下文并发送状态变更事件
- 定义了IState和IStateMachine抽象接口,规范状态和状态机的行为契约
- 添加了StateChangedEvent事件类,用于通知状态变更
- 实现了游戏专用状态机GameStateMachine,提供类型安全的状态检查和获取功能
2026-01-15 23:04:41 +08:00
GeWuYou
863e0a523a
test(logging): 更新日志生成器快照测试中的依赖项定义
...
- 在测试代码中添加了完整的 LogAttribute 定义
- 添加了 ILogger 接口和相关实现类定义
- 包含 LoggerFactoryResolver 和 MockLoggerProvider 实现
- 补充了 MockLogger 类的具体实现
- 确保所有测试用例都有完整的基础依赖项定义
2026-01-15 22:11:20 +08:00
GeWuYou
6cfde41dc6
feat(events): 添加全局事件获取或添加功能
...
- 实现了GetOrAdd方法用于获取或添加指定类型的全局事件
- 添加了XML文档注释说明方法用途和泛型约束
- 方法支持自动创建不存在的事件实例并返回指定类型对象
2026-01-15 22:00:32 +08:00
GeWuYou
2ae26ea590
fix(events): 修复事件获取方法调用错误
...
- 将 EasyEvents.Get 替换为 EasyEvents.GetOrAdd 以确保事件实例正确获取
- 移除多余的 _easyEvents.GetOrAddEvent 调用避免重复初始化
- 统一事件获取方式提高代码一致性
2026-01-15 22:00:24 +08:00
GeWuYou
77502e1b91
test(property): 添加测试清理方法并改进比较器测试
...
- 添加TearDown方法重置默认比较器
- 修改WithComparer测试使用新的比较器验证机制
- 添加比较器调用验证断言
- 更新测试逻辑以正确验证比较器行为
2026-01-15 22:00:11 +08:00
GeWuYou
1783245d22
test(rule): 添加上下文感知测试的绑定和清理逻辑
...
- 在测试设置中添加 GameContext 绑定
- 添加 TearDown 方法用于解绑上下文
- 确保测试后正确清理上下文状态
2026-01-15 22:00:05 +08:00
GeWuYou
ee3a087e35
refactor(ui): 重命名页面行为接口并更新依赖包版本
...
- 将 IPageBehavior 接口重命名为 IUiPageBehavior 并更新相关引用
- 将 CanvasItemPageBehavior 类重命名为 CanvasItemUiPageBehavior
- 更新 Newtonsoft.Json 从 13.0.3 到 13.0.4
- 更新 NUnit3TestAdapter 从 6.0.1 到 6.1.0
- 更新 Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing 从 1.1.2 到 1.3
- 为多个项目添加 Meziantou.Analyzer 和 Meziantou.Polyfill 包引用
2026-01-15 21:33:51 +08:00
GeWuYou
d1b4ef1971
feat(godot): 添加Godot UI注册表和日志测试用例
...
- 实现GodotUiRegistry类用于管理PackedScene类型的UI资源注册和获取
- 添加完整的控制台日志记录器单元测试覆盖所有日志级别和功能
- 添加日志工厂相关测试用例验证不同配置下的日志行为
- 实现基础日志抽象类的完整测试覆盖各种日志记录场景
2026-01-15 20:51:06 +08:00
GeWuYou
5d11666fd8
test(core): 添加核心组件的单元测试
...
- 为 ContextAware 功能添加全面的单元测试覆盖
- 增加对枚举扩展生成器的快照测试验证
- 实现环境管理器的完整测试用例集
- 添加事件总线功能的核心测试验证
- 为游戏上下文管理添加架构测试
- 扩展注销列表扩展方法的测试覆盖
- 增加注销机制的全面单元测试验证
- [skip ci]
2026-01-15 14:36:30 +08:00
GeWuYou
dda2d8f864
test(core): 添加核心组件单元测试并优化目标框架配置
...
- 在AsyncTestModel和TestModel中添加override关键字修复方法重写
- 调整GFramework.Core.Tests和GFramework.SourceGenerators.Tests的目标框架顺序为net10.0;net8.0
- 优化SyncArchitectureTests中的注释格式,统一添加前导空格
- 移除TestQuery相关代码文件
- 新增BindablePropertyTests测试绑定属性功能
- 新增CommandBusTests测试命令总线功能
- 新增EasyEventsTests和EventTests测试事件系统功能
- 新增IocContainerTests测试依赖注入容器功能
- 新增ObjectExtensionsTests测试对象扩展方法功能
- 新增ObjectPoolTests测试对象池功能
- 新增OrEventTests测试或事件功能
- 新增QueryBusTests测试查询总线功能
- [skip ci]
2026-01-15 13:53:08 +08:00
GeWuYou
3ec1c6748b
refactor(ui): 使用集合表达式初始化列表
...
- 将 List<IUiTransitionHandler> 的初始化从 new() 改为 []
- 简化了代码语法,提高可读性
2026-01-15 12:38:57 +08:00
GeWuYou
c931cb7d66
feat(ui): 添加CanvasItem页面行为和Godot UI工厂
...
- 实现CanvasItemPageBehavior类支持所有继承自CanvasItem的节点
- 添加OnEnter、OnExit、OnPause、OnResume、OnHide、OnShow页面生命周期方法
- 创建GodotUiFactory工厂类用于创建UI页面实例
- 实现Create方法根据UI键创建页面行为实例
- 重命名IUiPageProvider为IUiPageBehaviorProvider接口
- 更新接口方法GetPage返回页面行为实例的描述
2026-01-15 12:33:19 +08:00
GeWuYou
8fd7e2e952
feat(ui): 添加UI页面生命周期和路由管理相关接口及实现
...
- 定义了IPageBehavior接口,提供UI页面的生命周期方法如OnEnter、OnExit、OnPause、OnResume等
- 创建了IUiFactory接口用于创建UI页面实例,以及IUiPage接口定义页面基本操作
- 添加了IUiPageEnterParam接口用于定义页面跳转参数数据结构
- 实现了IUiRouter接口提供页面栈管理功能,支持Push、Pop、Replace、Clear等操作
- 创建了UI切换处理器相关接口和实现,包括IUiTransitionHandler和UiTransitionPipeline
- 添加了UI切换事件系统,支持BeforeChange和AfterChange两个执行阶段
- 实现了日志记录处理器LoggingTransitionHandler用于记录UI切换信息
- 定义了多种UI切换策略枚举如UiTransitionPolicy、UiTransitionType等
- 提供了UI注册表接口用于管理UI实例的注册和获取功能
2026-01-15 08:44:56 +08:00
GeWuYou
14894814a5
refactor(logging): 重构日志生成器代码结构
...
- 添加AttributeData扩展方法用于获取命名参数和构造函数参数
- 引入GenericInfo记录结构体处理泛型信息
- 将INamedTypeSymbol扩展方法转换为扩展方法语法
- 添加ResolveGenerics方法解析泛型参数和约束条件
- 简化LoggerGenerator中的参数解析逻辑
- 移除不再需要的GetNamedArg私有方法
- 优化代码可读性和维护性
2026-01-14 13:36:32 +08:00
GeWuYou
7876647871
feat(generator): 添加命名类型符号扩展方法并优化日志生成器
...
- 新增 INamedTypeSymbolExtensions 扩展类,提供 GetFullClassName 方法获取完整类名
- 在 LoggerGenerator 中引入命名空间扩展,支持嵌套类型完整路径解析
- 重构 LoggerGenerator 的类名和参数解析逻辑,增强代码可读性
- 添加对 record 类型的支持,完善类型判断机制
- 优化泛型参数和约束的处理方式,提升代码生成准确性
2026-01-14 13:21:54 +08:00
GeWuYou
3fb281031c
feat(logging): 添加泛型类的日志生成器支持
...
- 添加了对泛型类的支持,包括类型参数和约束的处理
- 实现了泛型约束的代码生成功能
- 增加了对引用类型、值类型、构造函数约束的支持
- 重构了类声明的生成逻辑以支持泛型参数
- 添加了必要的命名空间引用和集合操作支持
2026-01-14 13:12:06 +08:00
GwWuYou
f781be22a9
refactor(setting): 重构音频设置系统架构
...
- 将 GodotAudioSettings 从继承模式改为组合模式
- 移除 GodotAudioApplier 类,统一使用 GodotAudioSettings
- 修改 GodotAudioSettings 构造函数接受 AudioSettings 和 AudioBusMap 参数
- 更新文档中的代码示例和类图关系
- 添加自定义总线映射的平滑过渡功能
- 优化音频设置的应用流程和音量转换逻辑
2026-01-12 22:01:58 +08:00
GwWuYou
fcac697663
refactor(setting): 将Godot音频设置应用逻辑合并到设置类中
...
- 移除独立的GodotAudioApplier类,将其功能整合到GodotAudioSettings中
- 在GodotAudioSettings类中实现音频总线音量设置逻辑
- 更新项目文件移除对已删除文件的引用
- 添加设置系统和信号连接系统的技术文档
- 完善Godot扩展方法和设置模块的使用说明
2026-01-12 21:33:42 +08:00
GwWuYou
807dbc482e
feat(setting): 添加设置管理系统和Godot平台实现
...
- 实现了SettingsModel用于管理应用程序设置部分
- 创建了SettingsSystem用于应用各种设置配置
- 添加了AudioSettings和GraphicsSettings基础设置类
- 定义了ISettingsModel、ISettingsSystem等核心接口
- 实现了GodotAudioApplier用于应用音频设置到Godot音频系统
- 创建了GodotGraphicsSettings用于管理游戏图形显示设置
- 添加了GodotFileStorage特化文件存储实现
- 实现了Godot路径扩展方法IsUserPath、IsResPath、IsGodotPath
- 添加了AudioBusMap音频总线映射配置类
2026-01-12 21:07:27 +08:00
GeWuYou
5877dae8fe
chore(build): 更新.gitignore文件
...
- 添加.idea/目录到忽略列表中,避免IDE相关配置文件被提交到仓库。
- [skip ci]
2026-01-12 14:55:27 +08:00
GeWuYou
32ac9e8069
refactor(GFramework.Core): 修改GameArchitecture基类继承
...
- 移除Architecture泛型参数,将GameArchitecture的继承从
`Architecture<GameArchitecture>`改为`Architecture`
- [skip ci]
2026-01-12 14:45:26 +08:00
GeWuYou
ca133d47f5
refactor(GFramework.Core): 修改GameArchitecture类继承关系
...
移除了GameArchitecture类中的泛型参数,从Architecture<GameArchitecture>
改为直接继承Architecture基类,并更新了相应的代码格式。
2026-01-12 14:44:53 +08:00
GeWuYou
396723bd68
refactor(GFramework.Core): 简化GameArchitecture类的继承实现
...
移除了GameArchitecture类中不必要的泛型参数,并删除了示例代码中的PlayerModel
类定义,因为AbstractModel基类已经自动实现了架构引用功能,简化了组件注册
的代码示例。
2026-01-12 14:44:35 +08:00
GeWuYou
023ba44f57
docs(pool): 完善对象池系统文档并添加使用示例
...
更新 GFramework.Core 对象池系统的 README 文档,增加详细的功能说明、API
参考、使用示例和最佳实践。
主要变更包括:
- 补充核心组件的详细说明和代码示例
- 添加 IPoolableObject 接口的完整定义
- 添加 IObjectPoolSystem 接口和 AbstractObjectPoolSystem 抽象类的
详细说明
- 增加基本使用指南,包含池化对象定义和系统实现步骤
- 添加高级用法示例,如多键对象池管理和大小限制
- 补充游戏对象池、UI元素池等具体应用场景
- 添加性能优化建议和最佳实践指导
- 完善注意事项和相关包引用信息
2026-01-12 14:44:19 +08:00
GeWuYou
065f997654
refactor(logging): 更新GameArchitecture继承方式
...
移除了GameArchitecture类中对Architecture<GameArchitecture>的泛型继承,
改为直接继承Architecture基类,简化了架构实现并保持了相同的功能。
2026-01-12 14:44:01 +08:00
GeWuYou
96bf8a1982
refactor(ioc): 修改Architecture基类设计并更新文档
...
- 将Architecture基类从泛型改为非泛型设计,简化继承关系
- 移除泛型约束<T>,使架构定义更加简洁
- 更新GameArchitecture示例代码以适配新的基类设计
- 添加Contains、ContainsInstance和Clear等实用方法的详细文档
- 补充了容器实用方法的使用场景和注意事项说明
2026-01-12 14:43:40 +08:00
GeWuYou
9217c95bad
refactor(command): 重命名EmptyCommentInput为EmptyCommandInput
...
- 将EmptyCommentInput类重命名为EmptyCommandInput以修正拼写错误
- 更新README.md文档中的相关引用和代码示例
- 移除文件开头的BOM字符
2026-01-12 14:42:22 +08:00
GeWuYou
525685c62f
docs(architecture): 更新架构文档添加核心方法详细说明
...
- 添加 Initialize() 和 InitializeAsync() 方法的详细文档
- 补充 InstallModule 模块管理和 RegisterLifecycleHook 生命周期钩子说明
- 增加 CurrentPhase 和 Context 属性的使用示例
- 提供完整的代码示例和异常处理说明
2026-01-12 14:40:56 +08:00
GeWuYou
a8803f31be
docs(GFramework.Game): 添加游戏功能模块完整文档
...
创建了 GFramework.Game 模块的详细 README 文档,涵盖以下核心内容:
- 模块概述和核心设计理念介绍
- 架构模块系统说明,包含 AbstractModule 使用示例
- 资产管理系统详解,包括资产目录和映射功能
- 存储系统实现,支持分层存储和缓存机制
- 序列化系统集成,基于 Newtonsoft.Json 的完整方案
- 丰富的代码示例,展示实际使用场景
- 最佳实践指南,涵盖数据模型设计和性能优化建议
- 性能特性说明和技术栈依赖关系
2026-01-12 13:40:36 +08:00
GeWuYou
de1dd9002a
docs(core): 更新核心模块文档说明
...
- 移除架构README中接口链接的方括号标记
- 在架构README中添加构造函数参数说明和特性优化
- 移除命令README中继承能力接口的冗余说明
- 重构命令抽象基类为泛型版本并添加输入参数结构
- 更新事件README中接口引用路径和事件总线相关说明
- 重命名事件类名去掉Easy前缀统一为Event
- 更新扩展方法README为ContextAware扩展并添加新的扩展方法
- 移除控制器示例中的Godot特定生命周期方法
- 更新IOC容器README中线程安全实现和方法扩展说明
- [skip ci]
2026-01-12 11:10:41 +08:00
GwWuYou
8adce14b43
docs(pool): 添加对象池系统文档
...
- 创建了对象池系统的完整技术文档
- 详细说明了核心组件包括IPoolableObject接口和IObjectPoolSystem接口
- 描述了AbstractObjectPoolSystem抽象类的实现机制
- 解释了对象池的设计特点和工作原理
- 列出了对象池系统的典型使用场景
- 提供了完整的API参考和生命周期管理说明
2026-01-11 21:12:45 +08:00
GwWuYou
5d623462ce
feat(pool): 添加对象池系统基础架构
...
- 实现了抽象对象池系统支持基于键值的对象池管理
- 定义了对象池系统接口和可池化对象接口规范
- 提供了获取、释放和清空对象池的核心功能
- 添加了Godot节点专用的对象池系统抽象类
- 实现了对象在池中生命周期管理的回调机制
2026-01-11 21:07:23 +08:00
GwWuYou
3afef8cb49
feat(storage): 添加细粒度锁机制保证线程安全
...
- 通过细粒度锁机制保证线程安全,每个键都有独立的锁
- 更新文档说明线程安全特性,不同键的操作可以并发执行
- 添加存储键格式说明,支持使用 / 作为分隔符创建目录层级
- 补充异步操作安全性说明,异步IO仍使用锁保证并发访问安全
2026-01-11 20:46:45 +08:00
GwWuYou
4c997ffc07
refactor(storage): 为FileStorage添加基于key的细粒度线程安全锁
...
- 引入ConcurrentDictionary存储每个key对应的锁对象
- 在Delete方法中添加key级别锁定确保删除操作的原子性
- 在Exists方法中使用key级别锁定保证存在性检查的线程安全
- 在Read同步方法中添加key级别锁定保护文件读取操作
- 在Write同步方法中添加key级别锁定保护文件写入操作
- 在ReadAsync异步读取方法中使用锁保护文件访问并优化异步IO
- 在WriteAsync异步写入方法中使用锁保护文件访问并优化异步IO
- 更新类注释说明支持细粒度锁的线程安全特性
- 改进XML文档注释的准确性和清晰度
2026-01-11 20:44:26 +08:00
GwWuYou
5dc4feeff2
docs(storage): 更新存储模块文档并增强文件路径安全性
...
- 添加了完整的 GFramework 存储模块使用指南文档
- 实现了 SanitizeSegment 方法用于清理文件段中的无效字符
- 增强了 ToPath 方法的安全性验证,防止路径逃逸攻击
- 添加了对空键值和包含 .. 字符的键的异常处理
- 实现了路径分段处理和目录自动创建功能
- 统一了路径分隔符处理,支持正斜杠和反斜杠
- 添加了详细的使用示例和注意事项说明
2026-01-11 20:38:53 +08:00
GwWuYou
c3376bf4d5
feat(storage): 添加存储系统接口和文件存储实现
...
- 定义了IStorage接口提供同步和异步的数据存储操作功能
- 实现了基于文件系统的FileStorage类支持读写删除操作
- 添加了ScopedStorage包装器为存储键提供作用域前缀功能
- 创建了ISerializer接口并实现JsonSerializer使用Newtonsoft.Json
- 在项目中引入Newtonsoft.Json包依赖
2026-01-11 19:56:31 +08:00
GwWuYou
7843e2a14f
Merge branch 'main' of github.com:GeWuYou/GFramework
2026-01-11 11:17:41 +08:00
GwWuYou
157b3ce846
refactor(events): 将类型事件系统重构为事件总线
...
- 将TypeEventSystem重命名为EventBus
- 将IEasyEvent接口重命名为IEvent接口
- 将ITypeEventSystem接口重命名为IEventBus接口
- 更新Architecture类中使用TypeEventSystem为EventBus
- 更新ArchitectureContext中依赖注入参数类型
- 将EasyEvent泛型类重命名为Event泛型类
- 更新所有相关类型引用和实现
- 修改接口继承关系以使用新的事件接口命名
2026-01-11 11:17:30 +08:00
GeWuYou
4c5e3e01a3
docs(core): 更新文档说明架构与平台无关性及新特性
...
- 更新 Architecture 包文档,强调与 Godot 解耦设计
- 修改 IArchitecture 接口方法参数命名规范
- 添加架构阶段感知接口 IArchitecturePhaseAware 说明
- 补充架构模块接口 IArchitectureModule 和异步初始化接口说明
- 更新架构初始化流程描述,增加模块安装系统介绍
- 修订使用示例,展示依赖注入而非单例访问模式
- 更新 Logging 包文档结构,重新组织核心接口和类说明
- 添加日志工厂提供程序和解析器使用说明
- 修正 Property 包文档中的比较器使用说明
- 更新主 README 强调平台无关性和模块化设计
- 修订架构图和数据流向说明,体现阶段式生命周期管理
- [skip ci]
2026-01-10 12:45:12 +08:00
GwWuYou
8c8555985d
refactor(assets): 将系统组件重构为工具组件以优化架构设计
...
- 重命名 AbstractAssetCatalogSystem 为 AbstractAssetCatalogUtility 并继承 AbstractContextUtility
- 重命名 IAssetCatalogSystem 为 IAssetCatalogUtility 并继承 IContextUtility 接口
- 重命名 IResourceFactorySystem 为 IResourceFactoryUtility 并继承 IContextUtility 接口
- 重命名 AbstractResourceFactorySystem 为 AbstractResourceFactoryUtility 并调整依赖注入方式
- 重命名 IResourceLoadSystem 为 IResourceLoadUtility 并继承 IContextUtility 接口
- 重命名 ResourceLoadSystem 为 ResourceLoadUtility 并更新内部日志输出信息
- 移除 AbstractAudioManagerSystem 和 IAudioManagerSystem 相关代码
- 更新所有相关依赖注入和类型引用以匹配新的工具组件架构
2026-01-09 19:31:46 +08:00
GwWuYou
38625b80db
feat(core): 添加空命令和查询输入类
...
- 实现了EmptyCommentInput类用于表示无参数命令
- 实现了EmptyQueryInput类用于表示无参数查询
- 两个类分别实现ICommandInput和IQueryInput接口
- 提供了命令模式中输入参数的占位符实现
- 适用于不需要额外输入参数的简单操作场景
2026-01-07 22:23:05 +08:00
GwWuYou
e000665c67
feat(architecture): 添加上下文工具初始化阶段支持
...
- 在架构中新增 _mContextUtilities 集合存储未初始化的上下文工具
- 实现工具注册时根据初始化状态决定是否立即初始化上下文工具
- 添加 BeforeUtilityInit 和 AfterUtilityInit 两个新的架构阶段
- 更新架构阶段转换配置以支持工具初始化流程
- 在同步和异步架构测试中验证新的初始化阶段序列
- 完善架构初始化流程日志记录和调试信息
2026-01-07 21:16:43 +08:00
GwWuYou
0766416f83
feat(architecture): 添加上下文工具支持
...
- 注册工具时自动设置上下文
- 添加对IContextUtility类型的支持
- 集成extensions命名空间以支持类型检查
2026-01-07 20:52:50 +08:00
GeWuYou
cfdeb4649b
style(core): 统一泛型参数命名规范并完善测试代码
...
- 将 EasyEvent 类中的泛型参数 Tk 统一改为 TK,保持命名一致性
- 更新所有使用 Tk 的地方为 TK,包括字段、方法参数和触发方法
- 在测试方法末尾添加 return 语句,提高代码可读性
- [skip ci]
2026-01-06 13:05:55 +08:00
GeWuYou
4f01828543
refactor(architecture): 重构架构基类和模型实现
...
- 移除 Architecture 类中关于业务操作方法的注释说明
- 更新 AsyncTestModel 继承 AbstractModel 并移除上下文设置相关方法
- 添加 ITestModel 接口定义用于测试模型
- 在 SyncArchitectureTests 中添加事件接收和取消注册功能测试
- 创建 TestEvent 和 EmptyEvent 用于事件系统测试
- 修改 TestModel 继承 AbstractModel 并实现 ITestModel 接口
- 添加 TestQuery 类用于测试查询操作功能
- [skip ci]
2026-01-06 12:07:03 +08:00
GwWuYou
e23a53c3d4
feat(template): 添加控制器类模板并更新项目配置
...
- 添加了控制器类模板文件 ControllerTemplate.cs
- 在项目文件中添加 Godot 目录的排除规则
- 更新项目引用和编译排除规则
- 统一项目配置中的路径格式
- 添加控制器模板的元数据信息
- [skip ci]
2026-01-04 22:50:37 +08:00
GwWuYou
f87c9cf421
style(csharp): 格式化代码样式和优化代码结构
...
- 统一调整代码注释的缩进格式,保持文档注释的一致性
- 简化对象初始化语法,移除不必要的参数名称指定
- 优化条件语句结构,移除多余的花括号
- 调整方法实现格式,使用表达式主体语法简化代码
- 标准化代码缩进和空格使用,提升代码可读性
- [skip ci]
2026-01-04 22:14:34 +08:00
GwWuYou
18267e7c14
feat(command): 为命令和查询类添加输入参数支持
...
- 重构 AbstractCommand 类,添加泛型参数 TInput 并要求实现 ICommandInput 接口
- 修改 AbstractCommand.Execute 方法,传入输入参数到 OnExecute 方法
- 重构 AbstractCommand<TInput, TResult> 类,支持输入参数和返回结果
- 更新 AbstractQuery 类,添加泛型参数 TInput 和 TResult 并要求实现 IQueryInput 接口
- 创建 ICommandInput 接口作为命令输入的标记接口
- 创建 IQueryInput 接口定义查询输入规范
- 为所有抽象方法添加参数文档注释
2026-01-04 22:10:46 +08:00
GwWuYou
029f3a4652
refactor(model): 优化模型架构上下文设置机制
...
- 移除通过反射调用SetArchitecture方法的方式
- 改为直接调用model.SetContext(Context)方法
- 将AbstractModel基类继承ContextAwareBase
- 删除手动实现的SetContext和GetContext方法
- 简化模型注册流程,提高代码可读性
2026-01-03 22:10:56 +08:00
GwWuYou
49ceb35156
feat(architecture): 添加环境配置支持并重构架构初始化
...
- 引入IEnvironment接口和EnvironmentBase抽象类实现环境管理
- 在Architecture类中添加environment参数和Environment属性
- 修改ArchitectureContext构造函数以接收环境对象
- 添加DefaultEnvironment默认环境实现类
- 更新ContextAwareExtensions扩展方法支持环境获取
- 移除NoopLogger和NoopLoggerFactory无操作日志类
- 重构架构初始化流程以包含环境初始化
- 添加GetEnvironment扩展方法用于获取环境对象
2026-01-03 21:44:22 +08:00
GwWuYou
4adf3f11d4
refactor(godot): 调整命名空间和导入语句
...
- 移除 GFramework.Godot.Abstractions.assets 命名空间引用
- 添加 System 和 System.Collections.Generic 导入
- 统一使用 GFramework.Godot.assets 命名空间
- 修正 AbstractResourceFactorySystem 中的导入引用
- 更新 IResourceLoadSystem 的命名空间定义
- 调整 ResourceLoadSystem 的导入顺序
2026-01-03 20:24:31 +08:00
GwWuYou
ba8e9b5bb3
refactor(ResourceFactorySystem): 更新资源工厂系统依赖注入
...
- 添加 System 命名空间引用
- 将 _assetCatalogSystem 替换为 _resourceLoadSystem
- 保持原有的资产目录系统注入逻辑
2026-01-03 13:23:48 +08:00
GwWuYou
0c9063a5fd
refactor(architecture): 移除架构运行时并使用命令查询总线
...
- 移除了 IArchitectureRuntime 接口和 ArchitectureRuntime 类
- 在 ArchitectureContext 中添加了对 ICommandBus 和 IQueryBus 的依赖注入
- 修改 Architecture 类以使用 CommandBus 和 QueryBus 替代 Runtime
- 更新 ArchitectureServices 以提供 CommandBus 和 QueryBus 服务
- 将组件初始化逻辑从 if-else 改为 switch 语句
- 更新 ContextAwareBase 以使用新的 GetFirstArchitectureContext 方法
- 添加了 CommandBus 和 QueryBus 的实现类
- 修复了 Godot 模块中系统获取的重复代码问题
2026-01-03 12:07:32 +08:00
GwWuYou
f88f90f394
feat(signal): 为SignalBuilder添加连接标志参数支持
...
- 为To方法添加GodotObject.ConnectFlags参数,默认为null
- 为ToAndCall方法添加GodotObject.ConnectFlags参数,默认为null
- 重构连接逻辑使用合并后的标志值
- 更新XML文档注释包含新参数说明
2026-01-02 21:37:00 +08:00
GwWuYou
98f343d78e
feat(signal): 添加信号连接并立即调用功能
...
- 实现 ToAndCall 方法连接信号到指定可调用对象
- 支持传递参数并在连接后立即执行调用
- 返回当前构建器实例以支持链式调用
- 完善方法注释文档说明功能用途
- 保持原有 API 结构不变确保兼容性
2026-01-02 21:30:15 +08:00
GwWuYou
2bc5a08d74
refactor(signal): 将SignalBuilder的参数类型从Node改为GodotObject
...
- 修改SignalBuilder构造函数参数类型从Node为GodotObject
- 修改SignalBuilder.End()方法返回类型从Node为GodotObject
- 修改SignalFluentExtensions.Signal扩展方法参数名和类型从Node为GodotObject
- 更新XML文档注释中的参数描述
2026-01-02 21:14:36 +08:00
GwWuYou
cacd82d7b7
refactor(signal): 优化 SignalBuilder 的 To 方法实现
...
- 将方法功能描述从"将信号连接到指定的处理方法"更新为"连接信号到指定的可调用对象"
- 为 To 方法添加返回值类型 SignalBuilder 以支持链式调用
- 简化连接逻辑,移除不必要的 if-else 分支
- 添加 End 方法用于返回目标节点
- 更新参数说明文档
2026-01-02 20:46:53 +08:00
GwWuYou
cb17d9ecdd
refactor(ci): 优化 GitHub Actions 发布工作流
...
- 使用 softprops/action-gh-release 替换 actions/create-release
- 简化发布创建和资产上传流程
- 移除手动 curl 上传 .nupkg 文件的复杂脚本
- 直接通过 files 参数支持通配符上传所有包文件
- 保持发布描述和版本信息功能
- 减少工作流步骤数量,提高可维护性
2026-01-02 20:31:22 +08:00
GwWuYou
a34aa2388a
feat(signal): 添加信号连接构建器和流畅API扩展
...
- 实现 SignalBuilder 类用于流畅方式连接 Godot 信号
- 提供 WithFlags 方法设置连接标志
- 提供 To 方法将信号连接到指定处理方法
- 添加 SignalFluentExtensions 扩展方法提供流畅API
- 支持通过扩展方法创建信号构建器实例
2026-01-02 20:22:28 +08:00
GwWuYou
330a06c018
chore(workflow): 调整自动标签工作流中的条件判断顺序
...
- 交换了 "[skip]" 和 "[no tag]" 关键词的检查顺序
- 保持了原有的跳过标签创建的功能逻辑
- 优化了条件判断的可读性
- [skip]
2026-01-02 13:55:36 +08:00
GwWuYou
3a2ec6f7fc
chore(workflow): 移除自动标签工作流中的跳过发布检查
...
- 从条件判断中移除了 [skip release] 关键词检查
- 保留了 [no tag] 和 [skip] 关键词的跳过逻辑
- 简化了提交信息的跳过条件判断流程
- [skip]
2026-01-02 13:52:52 +08:00
GwWuYou
4022600cb1
chore(workflow): 更新自动标签跳过关键词检测逻辑
...
- 修改跳过关键词检测条件,支持 [skip release] 标记
- 保持对 [no tag] 和 [skip] 标记的兼容性
- 优化条件判断表达式结构
2026-01-02 13:49:46 +08:00
GwWuYou
0a70cbfb86
chore(workflow): 调整自动标签工作流中的日志输出格式
...
- 修复了最后提交信息日志的缩进格式
- 统一了工作流中的代码缩进风格
- [skip]
2026-01-02 13:47:28 +08:00
GwWuYou
dad9e88ce4
fix(ci): 修复自动标签工作流中的跳过条件匹配
...
- 修正了正则表达式以正确匹配跳过标签的关键词
- 简化了条件判断逻辑,提高脚本可读性
- 移除了多余的换行和格式问题
- 保持了原有的跳过功能但优化了实现方式
- [skip]
2026-01-02 13:46:16 +08:00
GwWuYou
14d8fbbdd8
chore(workflow): 更新工作流配置以支持跳过关键词和发布动作版本
...
- 添加 [skip] 关键词支持以跳过标签创建
- 将发布工作流中的 create-release 动作从 v1 更新到 v2
- 保持现有的 [skip release] 和 [no tag] 关键词功能
- [skip]
2026-01-02 13:42:51 +08:00
GwWuYou
ef7d53dfb6
refactor(architecture): 优化模块安装日志输出
...
- 移除模块名称后缀的".Module",保持日志简洁一致
- 统一安装前后的日志格式
- 提高日志可读性,便于调试和监控
2026-01-02 13:37:55 +08:00
GwWuYou
8bccd0fa7f
refactor(architecture): 优化模块安装日志记录
...
- 提取模块类型名称到局部变量以避免重复调用
- 统一使用变量名简化日志消息中的模块名称引用
- 保持原有日志功能不变,仅优化代码结构
2026-01-02 13:37:11 +08:00
GwWuYou
3b8671d22d
chore(workflow): 优化自动标签和发布工作流配置
...
- 调整 auto-tag 工作流触发条件,仅在 push 事件时执行
- 添加并发控制组配置避免重复执行
- 优化标签版本获取逻辑,使用 git tag 命令替代 describe
- 修复版本号解析方式,使用 IFS 分割替代 cut 命令
- 添加标签存在性检查,避免重复创建相同标签
- 为 publish 工作流添加详细功能注释和说明
- 优化 NuGet 包推送步骤的描述信息
- 改进 GitHub Release 创建和资产上传的注释说明
2026-01-02 13:32:35 +08:00
GwWuYou
f7542cbc98
feat(workflow): 为自动标签工作流添加.NET测试步骤
...
- 在auto-tag.yml中添加.NET环境设置步骤
- 添加NuGet包缓存配置以优化构建性能
- 添加依赖项恢复、构建和测试步骤
- 从publish.yml中移除重复的依赖项恢复和测试步骤
- 优化工作流配置以提高构建效率
2026-01-02 13:18:12 +08:00
GwWuYou
6b8a8660ef
feat(logging): 更新 Godot 日志记录器实现
...
- 添加时间戳格式化到日志前缀中
- 为日志级别字符串添加右对齐格式
- 将异常信息直接追加到日志消息中
- 更新致命错误、错误、警告和普通日志的输出方法
- 添加了更详细的日志格式包括时间戳、级别和名称
2026-01-02 12:52:58 +08:00
GwWuYou
333cefa84e
refactor(logging): 优化日志记录器的类型名称获取方式
...
- 修复了Architecture模块安装时的日志记录器类型名称
- 统一了IocContainer中日志记录器的类型名称获取逻辑
- 重构了AbstractSystem中日志记录器的类型名称处理
- 改进了AbstractContextUtility中日志记录器的类型名称获取
- 通过变量缓存避免重复调用GetType().Name提高性能
2026-01-02 12:50:22 +08:00
GwWuYou
e543ef9baf
refactor(tests): 提取架构初始化失败断言方法
...
- 添加 ArchitecturePhase 枚举的 using 引用
- 提取 AssertInitializationFailed 方法用于验证初始化失败状态
- 简化 AddPostRegistrationHook 中的 lambda 表达式语法
- 使用新提取的断言方法替换重复的断言逻辑
2026-01-02 12:20:17 +08:00
GwWuYou
e19f4ce5a1
refactor(architecture): 重构架构初始化方法和测试基类
...
- 将InitializeAsync方法改为真正的异步方法并正确等待内部初始化
- 移除多余的返回语句以符合异步模式
- 创建TestArchitectureBase基类来统一测试架构的公共功能
- 将AsyncTestArchitecture和SyncTestArchitecture继承自TestArchitectureBase
- 移除重复的属性和方法实现
- 添加完整的异步架构测试用例
- 包括组件初始化、阶段转换、异常处理等测试场景
2026-01-02 12:17:15 +08:00
GwWuYou
3729e2ead2
feat(architecture): 添加架构初始化失败处理和阶段转换规则
...
- 将 CurrentPhase 属性改为公共读取私有设置
- 在 Initialize 和 InitializeAsync 方法中添加异常处理机制
- 添加 ArchitectureFailedInitializationEvent 事件类型
- 定义架构阶段转换规则,支持失败初始化状态转换
- 添加 FailedInitialization 枚举值
- 在同步测试架构中添加后注册钩子功能
- 重构测试基类,移除重复的测试方法
- 添加架构初始化失败时的错误日志记录
- 实现初始化失败时自动进入 FailedInitialization 阶段
2026-01-02 11:49:12 +08:00
GwWuYou
78da01878b
test(architecture): 添加异步架构测试并重构测试基类
...
- 创建 AsyncTestArchitecture 类用于异步测试
- 添加 AsyncTestSystem 实现异步初始化系统
- 创建 ArchitectureTestsBase 基类统一同步异步测试逻辑
- 实现 AsyncArchitectureTests 异步架构测试用例
- 将同步测试重构为继承自 ArchitectureTestsBase
- 移除重复的测试方法实现
- 重命名模型初始化状态属性为 Initialized
2026-01-02 10:53:55 +08:00
GwWuYou
67b0e83da4
refactor(architecture): 重构架构初始化逻辑并添加异步支持
...
- 修改模块安装日志格式,添加.Module后缀
- 重命名_mInited字段为_mInitialized以提高语义清晰度
- 将EnterPhase方法设为protected virtual以支持继承扩展
- 将阶段变更通知的日志级别从Debug调整为Trace
- 为NotifyPhase方法添加生命周期钩子的日志记录
- 实现同步和异步初始化方法(Initialize和InitializeAsync)
- 创建InitializeComponentAsync方法统一处理组件初始化逻辑
- 重构InitializeInternalAsync方法实现完整的异步初始化流程
- 重命名测试架构类TestArchitecture为SyncTestArchitecture
- 添加异步测试模型AsyncTestModel用于验证异步初始化功能
- 添加失败模型FailingModel用于测试异常处理机制
- 重命名系统测试类的初始化和销毁状态属性
- 创建新的同步架构测试类SyncArchitectureTests替代原有测试
- 删除已过时的ArchitectureInitializationTests测试类
2026-01-02 10:39:52 +08:00
GwWuYou
6475d2c421
fix(logging): 调整日志级别输出方法
...
- 将 Fatal 级别日志从 PrintErr 改为 PushError
- 重新排列 switch 语句中的 case 顺序
- 确保 Fatal 和 Error 级别使用正确的 Godot 日志方法
2026-01-02 09:58:43 +08:00
GwWuYou
45ba75c0ad
refactor(architecture): 重构抽象架构类的初始化和锚点管理
...
- 添加架构配置、服务和上下文依赖注入支持
- 将静态架构锚点名称改为动态实例字段
- 实现基于类型名称和哈希码的唯一锚点命名机制
- 更新锚点创建和生命周期绑定逻辑
- 移除硬编码的常量名称,提高架构实例唯一性
2026-01-01 22:58:56 +08:00
GwWuYou
2f5af5c067
refactor(architecture): 移除架构上下文中的日志属性依赖
...
- 从 ArchitectureContext 构造函数中移除 LoggerProperties 参数
- 更新 Architecture 类中上下文初始化逻辑,不再传递日志属性
- 优化事件系统中的空值安全处理
- 修正 EasyEvent 泛型类中的类型参数命名
- 移除不再需要的 IsExternalInit 内部实现
- 更新包引用配置添加 PrivateAssets 属性
2026-01-01 22:13:06 +08:00
GwWuYou
0599f289f0
refactor(godot): 重构资源工厂系统架构
...
- 移除 IArchitecturePhaseAware 接口依赖
- 将 OnArchitecturePhase 方法改为重写基类方法
- 添加 Godot 模块命名空间占位类型
- 移除项目中未使用的 NUnit 包引用
2026-01-01 21:48:21 +08:00
GwWuYou
f620dea073
refactor(architecture): 重构日志系统和配置属性结构
...
- 将日志工厂配置改为日志属性配置,使用LoggerProperties替代ILoggerFactory
- 引入ArchitectureProperties替代ArchitectureOptions,统一架构配置属性
- 修改日志记录器创建方式,使用LoggerFactoryResolver.Provider统一管理
- 重构控制台日志工厂提供程序接口,移除minLevel参数
- 更新架构配置接口和上下文接口中的日志相关属性
- 移除Godot日志生成器相关的源代码生成器和特性
- 更新源代码生成器中的日志创建逻辑,使用新的日志工厂解析器
2026-01-01 21:39:08 +08:00
GwWuYou
435c3398fc
feat(logging): 添加日志级别配置和工厂提供程序
...
- 为 ILoggerFactory 接口添加 minLevel 参数支持
- 实现 ConsoleLoggerFactoryProvider 和 GodotLoggerFactoryProvider
- 创建 LoggerFactoryResolver 用于管理日志工厂提供程序
- 为 NoopLoggerFactory 添加日志级别参数
- 在 LogAttribute 中添加 MinLevel 属性
- 更新项目引用以支持日志级别配置功能
2026-01-01 20:37:12 +08:00
GwWuYou
42d6590edd
refactor(generator): 重构ContextAwareGenerator实现
...
- 移除IContextAware接口的继承要求
- 添加partial关键字检查验证
- 更新诊断规则描述和错误消息
- 修改代码生成逻辑以自动实现IContextAware接口
- 调整Analyzer发布文档格式和链接地址
2026-01-01 10:55:13 +08:00
GeWuYou
95add80c6d
refactor(ioc): 修改RegisterPlurality方法的参数类型和实现逻辑
...
- 将RegisterPlurality方法的泛型参数改为object类型
- 移除类型约束检查逻辑
- 简化接口类型获取逻辑
- 添加容器冻结检查注释
- 添加类型重复注册检查注释
- 移除调试日志输出
2025-12-31 13:30:27 +08:00
GeWuYou
2cfa78b91d
feat(architecture): 添加架构阶段感知能力支持
...
- 在AbstractModel和AbstractSystem中添加OnArchitecturePhase虚方法实现
- 修改Architecture类移除IArchitectureLifecycle接口和OnPhase方法
- 更新IModel和ISystem接口继承IArchitecturePhaseAware接口
- 修改AbstractResourceFactorySystem实现IArchitecturePhaseAware接口
- 在测试类TestModel和TestSystem中添加OnArchitecturePhase方法实现
- 在项目文件中添加对生成器相关目录的排除配置
- 将ArchitecturePhase枚举引入到相关文件中
2025-12-31 12:42:06 +08:00
GwWuYou
4e035295ca
feat(core): 添加对象类型判断扩展方法
...
- 实现 IfType 方法支持类型匹配时执行操作
- 添加 IfType 泛型方法支持类型匹配时返回计算结果
- 提供 As 扩展方法用于安全类型转换
- 实现 Do 方法支持链式调用操作
- 添加 SwitchType 方法支持运行时类型分派处理
- 提供类型条件判断和多分支处理功能
- 完善方法注释和使用示例文档
2025-12-30 21:42:44 +08:00
GwWuYou
806f9163be
feat(architecture): 添加抽象模块基类
...
- 创建AbstractModule抽象类实现IArchitectureModule接口
- 提供OnPhase和OnArchitecturePhase虚方法供子类重写
- 定义Install抽象方法强制子类实现模块安装逻辑
- 为架构模块提供统一的基础功能实现
2025-12-30 21:18:33 +08:00
GwWuYou
f022f25ae6
refactor(architecture): 优化架构上下文清理机制
...
- 将测试专用的 ResetForTests 方法重命名为 Clear 并改为公共方法
- 在测试初始化时添加上下文清理确保测试环境纯净
- 在测试清理时使用 try-finally 确保架构正确销毁和上下文清理
- 修复了架构对象可能未正确清理的潜在问题
2025-12-30 19:03:58 +08:00
GwWuYou
8a01178cc4
refactor(generator): 将GameContext类改为静态类
...
- 修改GameContext为静态类以符合设计要求
- 保持原有的架构上下文功能不变
- 优化类的访问方式和内存使用
2025-12-30 18:56:25 +08:00
GwWuYou
0be919d8b1
feat(architecture): 添加架构上下文管理和绑定功能
...
- 在Architecture类中添加GameContext.Bind调用以绑定架构上下文
- 创建GameContext类用于管理架构上下文实例的注册和获取
- 实现架构上下文的绑定、获取、查找和移除功能
- 更新ContextAwareGenerator生成器以使用懒加载方式获取上下文
- 在测试架构中添加就绪事件注册功能
- 添加架构上下文按类型注册的测试用例
2025-12-29 23:11:50 +08:00
GwWuYou
56ff201f94
feat(architecture): 为架构服务添加上下文支持并改进事件系统
...
- 在 ArchitectureServices 中添加 SetContext 和 GetContext 方法
- 为 IArchitectureServices 接口添加 IContextAware 继承
- 在架构初始化过程中设置服务上下文
- 将事件系统的 GetEvent 方法替换为 GetOrAddEvent 方法
- 重构测试类添加测试装置和拆卸逻辑
- 为测试类添加 NonParallelizable 特性确保测试隔离
2025-12-29 21:42:52 +08:00
GwWuYou
8130cf7fb0
refactor(ioc): 重构依赖注入容器和模型上下文管理
...
- 将IocContainer的Init方法重命名为OnContextReady并设为protected override
- 重构AbstractModel中的Architecture字段为_context属性并实现IContextAware接口
- 移除GetArchitecture和SetArchitecture方法,添加GetContext和SetContext方法
- 为IModel接口添加IContextAware继承
- 添加TestArchitecture、TestModel和TestSystem测试类
- 创建ArchitectureInitializationTests测试用例验证组件初始化
- 更新项目文件添加NUnit包引用和测试项目配置
- 在解决方案文件中添加测试项目引用
2025-12-29 21:14:23 +08:00
GwWuYou
603b06325d
refactor(source-generators): 优化ContextAware生成器实现并添加快照测试
...
- 为ContextAwareGenerator添加详细的XML文档注释
- 简化接口验证逻辑,合并条件判断语句
- 修正特性数据参数命名,统一使用attr命名
- 为接口实现方法添加global::前缀以确保类型解析正确
- 移除未使用的回退方法体,简化方法实现逻辑
- 新增GeneratorSnapshotTest通用快照测试类
- 添加ContextAwareGeneratorSnapshotTests快照测试
- 移除原有的硬编码期望值测试方法
- 修正接口实现中的全局命名空间前缀格式
2025-12-29 20:30:54 +08:00
GwWuYou
02e2e31e95
feat(core): 添加上下文感知扩展方法并完善架构上下文接口
...
- 新增 ContextAwareExtensions 扩展类,提供便捷的上下文访问方法
- 为 IContextAware 接口添加 GetContext 方法以获取架构上下文
- 更新 ContextAwareBase 基类实现 GetContext 方法
- 改进源代码生成器的 Generate 方法参数结构
- 重构 ContextAwareGenerator 生成器实现接口方法自动实现
- 更新单元测试以验证新生成的上下文感知代码正确性
2025-12-29 20:06:25 +08:00
GwWuYou
e808a0c365
refactor(generators): 移除枚举扩展生成器中的自动生成标记
...
- 移除了 IsX 方法中注释的 Auto-generated 前缀
- 移除了 IsIn 方法中注释的 Auto-generated 前缀
- 保持了注释的中文描述内容不变
- 简化了生成代码的注释格式
- [no tag]
2025-12-28 17:21:30 +08:00
GwWuYou
75dfb0a942
refactor(generators): 重构枚举扩展生成器基类实现
...
- 将 EnumExtensionsGenerator 的基类从 MetadataAttributeClassGeneratorBase 改为 AttributeEnumGeneratorBase
- 修改 AttributeMetadataName 为静态私有字段
- 重写 ResolveAttribute 方法用于解析属性数据
- 更新 ValidateSymbol 方法参数类型为 EnumDeclarationSyntax
- 调整命名空间生成逻辑,简化条件判断
- 重构 AttributeEnumGeneratorBase 基类实现
- 添加 ResolveAttribute 抽象方法用于属性解析
- 改进 Initialize 方法中的语法提供程序逻辑
- 添加 GetHintName 虚方法用于生成文件名提示
2025-12-28 17:13:07 +08:00
GwWuYou
539d285faa
refactor(assets): 移除IAssetCatalogSystem接口中的异常文档注释
...
- 移除RegisterSceneUnit方法的InvalidOperationException异常文档
- 移除RegisterScenePage方法的InvalidOperationException异常文档
- 为SourceGenerators.Abstractions项目启用可空引用类型支持
- 在测试中禁用GF_Common_Trace_001诊断警告
2025-12-28 16:41:40 +08:00
GwWuYou
8b42c6c005
docs(generator): 更新AttributeClassGeneratorBase文档
...
- 添加编译对象参数说明
- [no tag]
2025-12-28 16:17:51 +08:00
GwWuYou
3262e111f4
refactor(generator): 重构源代码生成器基础类和诊断功能
...
- 为 ValidateSymbol 方法添加 Compilation 参数以支持类型解析
- 实现基于 Compilation 的接口类型验证,替代字符串比较方式
- 添加源代码生成器跟踪诊断功能,便于调试生成过程
- 在 AttributeClassGeneratorBase 中增加详细的执行流程跟踪日志
- 更新诊断描述符配置,添加跟踪信息的诊断支持
- 优化 ContextAwareGenerator 中的接口验证逻辑
2025-12-28 16:17:08 +08:00
GwWuYou
414e49c413
refactor(generators): 重构源代码生成器基类架构
...
- 将 AttributeClassGeneratorBase 抽象基类拆分为 MetadataAttributeClassGeneratorBase 和 TypeAttributeClassGeneratorBase
- 为 GodotLoggerGenerator 实现 TypeAttributeClassGeneratorBase 基类
- 为 EnumExtensionsGenerator 实现 MetadataAttributeClassGeneratorBase 基类
- 为 LoggerGenerator 实现 TypeAttributeClassGeneratorBase 基类
- 为 ContextAwareGenerator 实现 MetadataAttributeClassGeneratorBase 基类
- 添加 ContextAwareGenerator 中对 IContextAware 接口实现的验证逻辑
- 简化 AttributeClassGeneratorBase 中的语法提供程序实现
- 移除 AttributeClassGeneratorBase 中的异常处理和错误输出逻辑
- 优化属性解析机制,使用元数据名称或类型进行特性查找
2025-12-28 16:08:24 +08:00
GwWuYou
af24a64d3b
refactor(ContextAwareGenerator): 移除接口实现检查逻辑
...
- 删除了对IContextAware接口实现的验证代码
- 简化了ContextAwareGenerator的检查逻辑
- 移除了相关的诊断报告功能
2025-12-28 15:41:12 +08:00
GwWuYou
d73be1e15e
refactor(architecture): 调整命名空间结构并添加必要引用
...
- 将 ArchitecturePhase 枚举移至 enums 命名空间
- 在多个架构相关文件中添加 enums 命名空间引用
- 修复 IController 接口中的错误命名空间声明
- 统一架构组件的命名空间组织结构
2025-12-28 15:13:11 +08:00
GwWuYou
6b87c537b2
chore(build): 更新项目配置以启用包打包功能
...
- 移除 GFramework.Core 项目引用中的 PrivateAssets="all" 属性
- 移除 GFramework.Game 项目引用中的 PrivateAssets="all" 属性
- 将 GFramework.Core.Abstractions 项目的 IsPackable 设置替换为 PackageId
- 将 GFramework.Game.Abstractions 项目的 IsPackable 设置替换为 PackageId
- 更新项目注释以反映新的配置变化
2025-12-28 14:37:30 +08:00
GwWuYou
f2fb8942b7
chore(build): 统一使用 AssemblyName 变量简化项目配置
...
- 将 PackageId 属性从硬编码名称改为 GeWuYou.$(AssemblyName) 模式
- 更新 GFramework.Godot 项目移除重复的 Product 属性
- 修改源代码生成器项目中的 ProjectReference 路径使用 AssemblyName 变量
- 更新源代码生成器项目中 DLL 文件引用使用 AssemblyName 变量
- 调整 targets 文件引用使用 AssemblyName 变量保持一致性
- 消除项目配置中的硬编码依赖提高维护性
2025-12-28 14:25:33 +08:00
GwWuYou
6b8e1fe66e
chore(build): 统一项目引用和包依赖配置
...
- 将项目引用从硬编码路径改为使用 $(AssemblyName) 变量
- 为所有项目引用添加 PrivateAssets="all" 属性
- 在 GFramework.Godot 项目中添加缺失的抽象层引用
- 更新源代码生成器测试项目的包依赖配置
- 添加 Microsoft.CodeAnalysis 和 Microsoft.CodeAnalysis.CSharp.Workspaces 包引用
2025-12-28 14:22:03 +08:00
GwWuYou
9ad300159f
chore(license): 更新版权信息
...
- 将版权年份更新为 2025
- 将版权持有者名称更新为 GeWuYou
- 保持 Apache License 2.0 许可证条款不变
- [no tag]
2025-12-28 13:54:22 +08:00
GwWuYou
eed07a1a4b
refactor(constants): 将路径常量类移动到通用模块并更新引用
...
- 将 PathContests 类从 GFramework.SourceGenerators.constants 移动到 GFramework.SourceGenerators.Common.constants
- 删除旧的 GFramework.Godot.SourceGenerators.constants.PathContests 文件
- 更新 GodotLoggerGenerator 中的命名空间引用
- 更新 LoggerGenerator 和 ContextAwareGenerator 的常量引用
- 为 PathContests 类添加详细的 XML 文档注释
- 扩展 PathContests 类,添加多个模块的命名空间常量定义
2025-12-28 13:45:37 +08:00
GwWuYou
bc462987af
refactor(logging): 重构Godot日志生成器实现
...
- 将日志生成器注释从LogAttribute更新为GodotLogAttribute
- 移除冗余的常量定义AttributeShortName
- 优化语法提供程序的查询逻辑,简化LINQ表达式
- 更新方法注释,明确源生成器初始化功能
- 简化属性数据获取逻辑,使用更直接的LINQ查询
- 优化代码生成部分的变量命名,提高可读性
- 改进错误处理的代码生成格式,统一命名规范
- 移除不必要的空行和注释,精简代码结构
2025-12-28 13:39:38 +08:00
GwWuYou
00704b7ec2
refactor(architecture): 重构项目结构并移除抽象层
...
- 移除 GFramework.Godot.Abstractions 项目及其所有配置文件
- 将抽象接口直接合并到 GFramework.Godot 项目中
- 更新项目引用关系,移除不必要的抽象层依赖
- 调整命名空间引用,统一使用 GFramework.Godot.architecture
- 简化模块参数命名,提升代码可读性
- 更新解决方案配置,移除已删除的项目配置
2025-12-28 13:34:20 +08:00
GwWuYou
7299126a18
refactor(assets): 将资源相关抽象移至专用模块
...
- 将 AssetCatalog.cs、IAssetCatalogSystem.cs、IResourceFactorySystem.cs 和
ResourceFactory.cs 从 GFramework.Game 移至 GFramework.Game.Abstractions
- 在 GFramework.Game 项目中添加对 GFramework.Game.Abstractions 的引用
- 更新 AbstractAssetCatalogSystem.cs 以使用新的命名空间引用
- 在 GFramework.Godot 项目中添加对 GFramework.Game.Abstractions 的引用
- 更新 ResourceLoadSystem.cs 以使用新的命名空间并修正命名空间声明
- 在解决方案文件中注册新的 GFramework.Game.Abstractions 项目
- 为 GFramework.Game.Abstractions 项目添加 Directory.Build.props 配置文件
- 在主项目文件中排除新抽象模块的编译和资源文件以避免重复包含
2025-12-28 13:24:29 +08:00
GwWuYou
1a13809bae
refactor(godot): 将Godot抽象接口移动到独立项目
...
- 将IGodotModule接口从GFramework.Godot移动到GFramework.Godot.Abstractions
- 将IResourceLoadSystem接口从GFramework.Godot移动到GFramework.Godot.Abstractions
- 将IAudioManagerSystem接口从GFramework.Godot移动到GFramework.Godot.Abstractions
- 在相关系统类中添加对GFramework.Godot.Abstractions的引用
- 在解决方案文件中添加GFramework.Godot.Abstractions项目引用
- 创建Directory.Build.props和项目配置文件支持抽象层构建
2025-12-28 13:12:08 +08:00
GwWuYou
a191228d85
refactor(source-generators): 重构命名空间引用和代码生成逻辑
...
- 将硬编码的命名空间路径替换为常量类中的动态引用
- 添加 PathContests 常量类统一管理框架命名空间
- 更新 LoggerGenerator 使用动态命名空间引用
- 重构 ContextAwareGenerator 生成的代码格式和命名空间引用
- 为 ContextAware 生成的属性添加 XML 文档注释
- 简化 ContextAware 生成文件的路径命名规则
- 更新测试代码以匹配新的命名空间引用方式
2025-12-28 12:39:11 +08:00
GwWuYou
14c7dadee2
refactor(logging): 统一日志记录器的根日志名称引用
...
- 将 ConsoleLogger 中的 ILogger.RootLoggerName 替换为 RootLoggerName
- 将 NoopLogger 中的 ILogger.RootLoggerName 替换为 RootLoggerName
- 将 GodotLogger 中的 ILogger.RootLoggerName 替换为 RootLoggerName
- 更新 ContextAwareGenerator 生成的文件路径格式,包含完整命名空间路径
2025-12-28 12:06:10 +08:00
GwWuYou
1bab3b68da
fix(logging): 修复日志模块的命名空间引用问题
...
- 添加了 GFramework.Core.Abstractions.logging 的 using 语句到 AbstractLogger.cs
- 添加了 System 的 using 语句到 ILogger.cs
- 移除了 GFramework.Core.Abstractions.csproj 中无效的 TargetFramework 空标签
- 解决了日志模块的依赖引用问题
2025-12-28 11:49:57 +08:00
GwWuYou
8496bf43bb
refactor(logging): 重构日志系统抽象和目标框架配置
...
- 将 RootLoggerName 常量从接口移至具体实现类 AbstractLogger
- 在 AbstractLogger 中添加 IsEnabledForLevel 方法的完整实现
- 更新 ILogger 接口移除 IsEnabledForLevel 的默认实现
- 统一所有项目的目标框架为 netstandard2.0
- 修正命名空间引用确保日志相关类型正确导入
- 添加详细的 XML 文档注释提升代码可读性
- 优化项目构建属性配置支持更高版本的语言特性
2025-12-28 11:45:24 +08:00
GwWuYou
4172952b11
refactor(source-generators): 重构枚举扩展生成器和日志生成器
...
- 将 EnumExtensionsGenerator 从 IIncrementalGenerator 迁移到 AttributeClassGeneratorBase
- 将 LoggerGenerator 从 IIncrementalGenerator 迁移到 AttributeClassGeneratorBase
- 添加 AttributeEnumGeneratorBase 基类用于枚举相关生成器
- 更新依赖引用路径,使用新的抽象层和通用生成器基类
- 改进代码生成逻辑,使用强类型 Attribute 替代字符串匹配
- 添加详细的 XML 文档注释
- 修改项目目标框架为多版本支持 (net8.0;net9.0;net10.0)
2025-12-28 11:25:24 +08:00
GwWuYou
e4a317b743
style(generator): 格式化源代码生成器相关文件
...
- 修复 ILogger.cs 中多余的逗号
- 统一 ContextAwareDiagnostic.cs 中的注释缩进格式
- 统一 ContextAwareGenerator.cs 中的注释缩进格式
- 统一 ContextAwareAttribute.cs 中的注释缩进格式
- 统一 CommonDiagnostics.cs 中的注释缩进格式
- 简化 AttributeClassGeneratorBase.cs 中的 isEnabledByDefault 参数
- 统一 GeneratorTest.cs 中的注释缩进格式
- 优化 ContextAwareGeneratorTests.cs 中的代码结构
- 调整 AnalyzerReleases.Unshipped.md 中的表格格式
2025-12-28 10:50:41 +08:00
GwWuYou
3e1531d7eb
refactor(godot): 更新Godot模块的依赖注入配置
...
- 为AbstractGodotModule添加GFramework.Core.Abstractions.architecture命名空间引用
- 为UnRegisterExtension添加GFramework.Core.Abstractions.events命名空间引用
- 为GodotLogger添加GFramework.Core.Abstractions.logging命名空间引用
- 为GodotLoggerFactory添加GFramework.Core.Abstractions.logging命名空间引用
- 统一模块内部的抽象层依赖引用路径
2025-12-28 10:49:44 +08:00
GwWuYou
6dd79b8e9a
chore(build): 更新项目目标框架和构建配置
...
- 将多个项目的TargetFramework从netstandard2.0更新为net8.0;net9.0;net10.0
- 优化Directory.Build.props中的注释和配置说明
- 添加缺失的using System;引用
- 调整资源加载系统命名空间从GFramework.Godot.system到GFramework.Godot.assets
- 修正ILogger.cs中的异常消息格式
- 移除BindableProperty.cs中多余的可空断言操作符
2025-12-28 10:45:07 +08:00
GwWuYou
2dea63e69f
refactor(abstractions): 将抽象接口迁移至独立项目并更新引用
...
- 将架构相关接口从 GFramework.Core 迁移至 GFramework.Core.Abstractions 项目
- 更新项目引用配置,添加对抽象层项目的项目引用
- 修正命名空间引用,使用新的抽象层命名空间
- 调整类型定义,将 List<T> 替换为更通用的 IList<T> 接口
- 修复控制器接口命名空间错误
- 添加必要的 using 语句以支持新的抽象层引用
2025-12-28 10:37:18 +08:00
GwWuYou
f638f50eb4
build(generator): 修正源代码生成器项目中的程序集引用
...
- 修复了 Common.dll 和 Common.xml 文件的输出路径配置
- 确保生成的程序集文件正确包含在 NuGet 包中
- 更新了包构建过程中的文件引用路径
2025-12-28 09:00:35 +08:00
GwWuYou
929ea6b2d6
refactor(godot): 重构源代码生成器依赖结构
...
- 将CommonDiagnostics移至GFramework.SourceGenerators.Common模块
- 添加PathContests常量类统一管理路径常量
- 更新GodotLoggerGenerator使用新的路径常量和诊断引用
- 修改项目引用以包含GFramework.SourceGenerators.Common依赖
- 更新NuGet包配置以包含Common模块的DLL和XML文档
- 在解决方案文件中添加GFramework.SourceGenerators.Common项目引用
- 为Common模块创建Analyzer发布跟踪文件
2025-12-28 08:54:52 +08:00
GwWuYou
60a42a5f1e
refactor(rule): 更新命名空间为 abstractions
...
- 将 ContextAwareAttribute 的命名空间从 Attributes.rule 更新为 Abstractions.rule
2025-12-27 23:32:44 +08:00
GwWuYou
13829c6d2b
chore(license): 更新许可证为Apache 2.0并完善文档
...
- 将项目许可证从MIT更改为Apache 2.0
- 在各个README文件中添加许可证信息
- 更新主README文件为中文介绍
- 添加框架设计理念和架构优势说明
- 补充技术栈和性能特性介绍
- 更新安装和使用示例
- 添加项目背景和修改说明
- [no tag]
2025-12-27 23:20:13 +08:00
GwWuYou
c5a11820bc
build(generator): 添加源代码生成器的 MSBuild targets 配置文件
...
- 为 GFramework.Godot.SourceGenerators 创建 GeWuYou.GFramework.Godot.SourceGenerators.targets 文件
- 为 GFramework.SourceGenerators 创建 GeWuYou.GFramework.SourceGenerators.targets 文件
- 在项目中启用 EnforceExtendedAnalyzerRules 规则
- 修正项目引用路径配置
- 更新包打包配置以包含正确的 targets 文件
- 从 GFramework.csproj 中移除多余的 targets 文件排除配置
2025-12-27 23:05:44 +08:00
GwWuYou
f3c5840ebe
feat(diagnostic): 添加通用诊断描述符并重构诊断系统
...
- 添加 CommonDiagnostics 类提供通用诊断描述符
- 将诊断相关文件从 logging 目录移动到 diagnostics 目录
- 更新命名空间从 GFramework.SourceGenerators.Common.diagnostics 到 GFramework.SourceGenerators.diagnostics
- 修改诊断ID从 GFC001 到 GF_Common_Class_001
- 移除 GFramework.SourceGenerators.Common 项目引用
- 更新 AnalyzerReleases.Unshipped.md 文件中的诊断规则
- 重构 README.md 文件提供完整的项目介绍和使用指南
2025-12-27 22:51:39 +08:00
GwWuYou
7cd3979c48
fix(build): 修正项目引用和打包配置
...
- 修复了对 GFramework.Godot.SourceGenerators.Abstractions 的项目引用路径
- 更新了打包时包含的 targets 文件名称为 GFramework.Godot.SourceGenerators.targets
- 确保编译期引用正确且不被打包到最终输出中
2025-12-27 22:30:06 +08:00
GwWuYou
3074f8420d
build(generator): 更新项目配置以包含Abstractions包
...
- 将Attributes.dll和Attributes.xml替换为Abstractions.dll和Abstractions.xml
- 修改GFramework.Godot.SourceGenerators项目配置
- 修改GFramework.SourceGenerators项目配置
- 保持包路径和可见性设置不变
2025-12-27 22:24:56 +08:00
GwWuYou
74b807b063
build(generator): 修正源代码生成器DLL包路径配置
...
- 修正 GFramework.Godot.SourceGenerators 项目的DLL包路径
- 修正 GFramework.SourceGenerators 项目的DLL包路径
- 移除多余的命名空间前缀 GeWuYou
- 确保生成器DLL正确包含到analyzers目录
2025-12-27 22:21:43 +08:00
GwWuYou
0126b69c5c
refactor(source-generators): 重构源代码生成器项目结构和配置
...
- 移除 IArchitectureExtensible 接口定义
- 更新 Godot 源代码生成器项目配置,添加 Nullable 启用和包路径配置
- 添加 Directory.Build.props 构建属性文件到抽象层项目
- 修复命名空间引用错误和添加 using 语句
- 优化源代码生成器项目的打包配置和依赖引用
- 添加文档注释到 LogAttribute 构造函数
- 更新主项目文件中的源代码生成器相关引用路径
- 从解决方案用户设置中移除过时配置文件
- 添加解决方案用户设置到 gitignore 文件
2025-12-27 22:18:26 +08:00
GwWuYou
5f55a1b8db
refactor(generator): 将Attributes项目重命名为Abstractions并更新引用
...
- 将GFramework.SourceGenerators.Attributes重命名为GFramework.SourceGenerators.Abstractions
- 将GFramework.Godot.SourceGenerators.Attributes重命名为GFramework.Godot.SourceGenerators.Abstractions
- 更新所有源生成器中对Attribute命名空间的引用
- 修改项目引用从Attributes指向Abstractions
- 添加程序集打包配置到生成项目
- 更新解决方案文件中的项目引用路径
- 修正测试文件中的命名空间引用
2025-12-27 21:29:13 +08:00
GwWuYou
fc88d908be
refactor(build): 优化源代码生成器项目配置
...
- 移除 GeneratePackageOnBuild 和 IsRoslynComponent 配置项
- 统一设置 IncludeBuildOutput 为 false 以避免运行时库输出
- 更新 Microsoft.CodeAnalysis.Analyzers 版本至 4.14.0
- 为所有项目引用添加 PrivateAssets="all" 属性
- 简化打包配置,只将生成器 DLL 打包到 analyzers 目录
- 添加中文注释说明各配置项的作用和用途
2025-12-27 21:11:42 +08:00
GeWuYou
eababa471a
test(rule): 更新 ContextAware 生成器测试方法
...
- 将测试方法的返回类型从 Task<int> 更改为 Task
- 使用 Assert.DoesNotThrowAsync 包装生成器测试执行逻辑
- 在测试方法末尾添加 return Task.CompletedTask 返回已完成任务
2025-12-27 13:37:39 +08:00
GeWuYou
383eceb36f
test(generator): 添加上下文感知生成器的继承接口测试
...
- 为 ContextAwareGenerator 添加新的单元测试方法
- 测试当接口继承自 IContextAware 时的代码生成功能
- 验证间接接口实现的正确性
- 检查生成的 SetContext 方法和 Context 属性
- 确保继承场景下的代码生成符合预期
2025-12-27 13:35:44 +08:00
GeWuYou
5f211d8680
fix(generator): 修复ContextAware生成器代码格式和测试配置
...
- 移除ContextAwareGenerator中多余的空行
- 为生成的类添加IContextAware接口实现
- 在测试中添加IContextAware接口定义
- 修复Rider测试会话配置中的IsActive属性
- 更新测试ID以匹配正确的测试类路径
2025-12-27 13:31:27 +08:00
GeWuYou
40a9b523f5
feat(rule): 添加上下文感知诊断规则
...
- 新增 GF_Rule_001 诊断规则,要求类必须实现 IContextAware 接口
- 创建 ContextAwareDiagnostic 类定义诊断规则元数据
- 修改 ContextAwareGenerator 实现 IContextAware 接口检查
- 优化生成器代码结构,添加候选类查找和输出生成功能
- 更新 AnalyzerReleases.Unshipped.md 文档
- 调整测试代码以适配新的诊断规则
- 修复日志诊断规则的命名空间大小写错误
2025-12-27 13:04:01 +08:00
GwWuYou
eebd7de409
fix(generator): 修复ContextAware生成器的代码生成问题
...
- 修复生成代码末尾多余的换行符问题
- 添加GFramework.Core.rule命名空间引用
- 在测试中添加框架存根代码以提供必要的接口依赖
- 更新解决方案设置以包含新的分析器测试文件
2025-12-26 23:10:15 +08:00
GwWuYou
eaa706a7e4
refactor(source-generator): 重构ContextAware生成器的代码格式
...
- 将多行字符串插值改为逐行添加以改善代码可读性
- 更新测试用例中的源代码和期望输出格式
- 修改项目文件中的目标框架为net8.0
- 添加必要的包引用Microsoft.CodeAnalysis.CSharp和Microsoft.CodeAnalysis.Common
- 移除解决方案用户设置中的过期配置项
2025-12-26 22:51:57 +08:00
GwWuYou
68cf0c71ee
test(generator): 添加源代码生成器测试框架和ContextAwareGenerator测试
...
- 创建GeneratorTest通用测试类用于源代码生成器测试
- 实现ContextAwareGeneratorTests测试用例验证上下文感知代码生成
- 在项目文件中添加测试项目排除规则
- 更新解决方案文件包含测试项目配置
- 创建GFramework.SourceGenerators.Tests项目文件并配置测试依赖
2025-12-26 22:28:40 +08:00
GwWuYou
a888e76842
refactor(source-generators): 提取通用诊断描述符并更新代码生成器
...
- 将 ClassMustBePartial 诊断描述符移至 CommonDiagnostics 类
- 更新 GodotLoggerGenerator 和 LoggerGenerator 引用通用诊断
- 添加 ContextAwareGenerator 实现上下文感知功能
- 创建 ContextAwareAttribute 标记需要自动实现 IContextAware 的类
- 在项目中添加对 GFramework.SourceGenerators.Common 的引用
- 更新诊断规则 ID 命名规范
- 修复 AnalyzerReleases 文件格式
- 添加 nullable enable 配置
- 在解决方案文件中添加新项目引用
2025-12-26 22:05:34 +08:00
GeWuYou
017870421e
style(csharp): 统一代码格式化规范并优化方法实现
...
- 调整注释格式统一使用4个空格缩进
- 重新排列字段声明顺序提升代码可读性
- 将简单属性访问器改为表达式主体语法
- 优化AudioManagerSystem中音量设置逻辑
- 移除AbstractAssetCatalogSystem中多余空行
- 重构日志类中方法实现为表达式主体形式
- 统一空行分隔符保持代码结构一致性
- 优化方法内部逻辑表达式简化代码
- [no tag]
2025-12-26 13:50:14 +08:00
GwWuYou
378690a42c
fix(logging): 修复源代码生成器中的日志属性引用错误
...
- 修正 GodotLoggerGenerator 中的属性元数据名称为正确的命名空间路径
- 更新 LoggerGenerator 中的属性引用从 GodotLogAttribute 改为 LogAttribute
- 修复 ConsoleLoggerFactory 的实例化方式,添加缺失的构造函数调用
- 统一日志属性名称格式,移除多余的 Godot 前缀
2025-12-25 22:09:52 +08:00
GwWuYou
4fbc067414
fix(logging): 修复GodotLogger生成器中的工厂实例化问题
...
- 修复GodotLoggerGenerator中GodotLoggerFactory的实例化方式,
从静态方法调用改为实例方法调用
- 将默认日志字段名从"_log"更改为"Logger",
以提供更具描述性的命名
2025-12-25 21:54:32 +08:00
GwWuYou
b5c1371b86
build(godot): 更新包ID为Godot特定的命名空间
...
将PackageId从GeWuYou.GFramework.SourceGenerators.Attributes
更改为GeWuYou.GFramework.Godot.SourceGenerators.Attributes,
以更好地反映Godot特定的源生成器属性包。
```
2025-12-25 21:45:33 +08:00
GwWuYou
72c787df3e
fix(GFramework.Godot.SourceGenerators): 修复项目引用路径错误
...
修复了 GFramework.Godot.SourceGenerators 项目中对 Attributes 项目的引用路径,
将错误的 GFramework.SourceGenerators.Attributes.csproj 路径修正为正确的
GFramework.Godot.SourceGenerators.Attributes.csproj 路径。
2025-12-25 21:24:32 +08:00
GwWuYou
2f3bc2d526
feat(godot-source-generators): 重构Godot源代码生成器项目配置
...
- 将TargetFramework从net10.0更改为netstandard2.0以提高兼容性
- 添加必要的using语句(System和System.Linq)到GodotLoggerGenerator
- 配置项目属性以支持Roslyn分析器功能,包括GeneratePackageOnBuild、
IsRoslynAnalyzer等设置
- 添加EnforceExtendedAnalyzerRules以启用扩展规则验证
- 配置项目引用GFramework.Godot.SourceGenerators.Attributes并设置
PrivateAssets="all"避免运行时依赖
- 设置打包配置将生成器DLL打包为analyzers/dotnet/cs路径
- 修正GodotLogAttribute命名空间为GFramework.Godot.SourceGenerators.Attributes.logging
- 更新PackageId为GeWuYou.GFramework.SourceGenerators.Attributes
- 移除不必要的PackageReadmeFile配置
2025-12-25 21:22:20 +08:00
GwWuYou
763b460575
refactor(GFramework.Generator): 重构代码生成器结构并添加Godot日志生成器
...
- 移除原有的LoggerGenerator.cs和相关README文档
- 重命名GFramework.Generator为GFramework.SourceGenerators
- 重命名GFramework.Generator.Attributes为GFramework.SourceGenerators.Attributes
- 添加新的Godot日志生成器(GodotLoggerGenerator)及对应属性(GodotLogAttribute)
- 创建GFramework.Godot.SourceGenerators新项目用于Godot特定功能
- 修改日志生成器使用GodotLoggerFactory而非ConsoleLoggerFactory
2025-12-25 21:10:29 +08:00
GeWuYou
7fa2a1e4cb
refactor(architecture): 重构日志记录器的初始化和使用方式
...
- 移除 ArchitectureContext 构造函数中的 ILogger 参数
- 从 IArchitectureContext 接口中移除 Logger 属性
- 更新 AbstractContextUtility 使用 LoggerFactory 创建日志记录器
- 修改 AbstractSystem 使用 LoggerFactory 获取日志记录器
- 调整 Architecture 类中上下文创建时的日志工厂使用
- 更新 IocContainer 初始化时的日志记录器获取方式
- 移除 IIocContainer 接口中的 Init 方法定义
- [no tag]
2025-12-25 13:42:16 +08:00
GeWuYou
543e32eb6a
feat(architecture): 为架构上下文添加日志工厂支持
...
- 在ArchitectureContext构造函数中添加ILoggerFactory参数
- 为IArchitectureContext接口添加LoggerFactory属性
- 在Architecture的Initialize和InitializeAsync方法中传递loggerFactory
- 修改AbstractContextUtility初始化逻辑,使用NoopLoggerFactory创建默认logger
- 新增ILogAware接口用于支持日志记录功能
- [no tag]
2025-12-25 13:31:16 +08:00
GeWuYou
8913f2fb2c
refactor(architecture): 移除泛型参数并删除拖拽组件
...
- 移除 AbstractArchitecture<T> 中的泛型参数 T
- 移除 AbstractGodotModule<T> 中的泛型参数 T
- 删除 AbstractDragDrop2DComponentBase 组件类
- 删除 AbstractDragDropArea2DComponent 组件类
- 修改 InstallGodotModule 方法的泛型约束
- 更新系统中获取系统实例的方式
- 调整命名空间和依赖引用关系
- 添加新的日志抽象基类 AbstractLogger
- 重构控制台日志记录器继承抽象基类
2025-12-25 13:05:38 +08:00
GeWuYou
bc2b73b19a
refactor(generator): 重构日志生成器以使用新属性名称和日志接口
...
- 将LogAttribute中的Category属性重命名为Name
- 更新构造函数参数名称从category到name
- 添加类和方法的XML文档注释
- 将生成的日志字段类型从ILog改为ILogger
- 更新日志创建方式从Log.CreateLogger到ConsoleLoggerFactory.GetLogger
- 移除项目中的空文件夹引用
- 优化代码结构和注释格式
2025-12-25 08:42:03 +08:00
GeWuYou
485b2a11fe
feat(utility): 添加抽象上下文工具类和接口
...
- 创建了 AbstractContextUtility 抽象类,继承 ContextAwareBase 并实现 IContextUtility 接口
- 实现了 IContextUtility 接口,提供上下文相关的通用功能
- 添加了 Init 方法用于初始化上下文工具,包含日志记录功能
- 提供了抽象 OnInit 方法供子类实现具体初始化逻辑
- 定义了 IContextUtility 接口,继承 IUtility 和 IContextAware 接口
- 添加了上下文感知能力的工具功能支持
2025-12-25 08:34:46 +08:00
GeWuYou
270411c66c
refactor(architecture): 优化事件系统泛型约束和命名规范
...
- 为 SendEvent 方法添加 class 约束以确保类型安全
- 统一泛型参数命名从 T 到 TEvent 提高可读性
- 移除不必要的 using 语句简化文件依赖
- 保持事件发送和注册功能的原有行为不变
2025-12-25 08:25:12 +08:00
GwWuYou
5b7eaea142
refactor(architecture): 重构架构基类以支持上下文和运行时模式
...
- 移除架构中的命令和查询执行方法,将业务操作委托给 ArchitectureRuntime
- 引入 ArchitectureContext 类统一管理组件访问和事件处理
- 创建 ArchitectureRuntime 类作为统一的命令、查询、事件操作入口
- 更新架构生命周期管理,添加对 IArchitectureLifecycle 的支持
- 重命名 DefaultArchitectureConfiguration 为 ArchitectureConfiguration
- 重命名 DefaultArchitectureServices 为 ArchitectureServices
- 删除旧的 DefaultArchitectureContext 类
- 更新查询接口实现,使用 ContextAwareBase 基类
- 修改系统和模型注册逻辑,使用上下文而非架构实例
- 重构事件发送机制,统一使用 TypeEventSystem
- [no tag]
2025-12-24 23:39:34 +08:00
GwWuYou
3e672cf56f
refactor(architecture): 重构架构基类以支持依赖注入和服务配置
...
- 将Architecture类重构为使用构造函数注入IArchitectureConfiguration、IArchitectureServices和IArchitectureContext
- 移除泛型参数和单例模式,改为使用依赖注入容器管理实例
- 添加异步初始化方法InitializeAsync支持异步初始化场景
- 引入ArchitectureOptions类统一管理架构配置选项
- 创建DefaultArchitectureConfiguration和DefaultArchitectureServices默认实现
- 新增IArchitectureContext接口提供统一的上下文访问
- 添加IAsyncInitializable接口支持异步初始化能力
- 简化架构生命周期阶段,移除Created、BeforeInit和AfterInit阶段
- 更新事件系统为ITypeEventSystem接口实现
- 重构命令和控制器接口,统一使用IContextAware替代多个能力接口
- 移除FunctionalArchitectureOptions和相关委托配置方式
- 优化日志记录使用配置中的LoggerFactory实例
2025-12-24 23:09:17 +08:00
GeWuYou
9e053d525f
style(analyzer): 格式化分析器规则表格
...
- 将表格格式从简单的分隔符转换为标准markdown表格
- 添加表格头部分隔线以提高可读性
- 确保表格对齐和格式一致性
- [no tag]
2025-12-24 13:14:03 +08:00
GeWuYou
fb61ae3198
refactor(logging): 优化日志生成器属性处理逻辑
...
- 将 LogAttribute 的 Category 属性改为可设置
- 添加了无参构造函数支持
- 移除了部分无效的诊断检查代码
- 为 LoggerGenerator 添加了可空引用类型支持
- 使用 switch 表达式简化参数解析逻辑
- 优化了命名参数获取方法的实现
2025-12-24 13:10:44 +08:00
GeWuYou
73c474c37a
fix(generator): 修复日志生成器中的诊断和分类逻辑
...
- 使用预定义的 Diagnostics.MustBePartial 替代手动创建 DiagnosticDescriptor
- 优化构造函数参数检查逻辑,添加对 null 值和无效类型的处理
- 增加三种参数情况的处理:null 值、有效字符串、无效类型
- 添加错误情况下的回退机制,使用默认分类值
- 改进代码注释和错误处理的健壮性
2025-12-24 12:57:26 +08:00
GeWuYou
d6b97fc0d1
fix(generator): 修复日志生成器的属性匹配和错误处理
...
- 添加了更精确的属性匹配逻辑,支持别名和命名空间匹配
- 增加了 try-catch 错误处理机制,避免生成器崩溃
- 实现了错误信息输出到生成文件中便于调试
- 优化了命名参数解析逻辑,支持更安全的类型转换
- 添加了字段访问修饰符和静态修饰符的正确处理
- 为生成的字段添加了 XML 文档注释
- 修复了构造函数参数解析的边界情况处理
2025-12-24 08:46:19 +08:00
GwWuYou
2db8a5d215
refactor(logging): 优化日志生成器的语法分析实现
...
- 使用 SyntaxProvider 替换原有的 candidates 遍历方式
- 实现更精确的语法节点匹配逻辑
- 添加对 [Log] 和 [Log(...)] 属性的完整支持
- 改进属性名称匹配,支持命名空间前缀
- 重构代码结构以提高性能和准确性
- 保持原有功能逻辑不变
2025-12-23 23:20:09 +08:00
GwWuYou
ce8dca3631
fix(generator): 修复代码生成器属性路径和匹配逻辑
...
- 修正了枚举扩展生成器中属性的完整名称路径
- 修正了日志生成器中属性的完整名称路径
- 改进了属性匹配逻辑,添加了空值检查
- 增强了属性类名匹配,支持简短名称匹配
2025-12-23 23:03:31 +08:00
GwWuYou
1f370dfdc9
refactor(logging): 优化 LoggerGenerator 属性查找逻辑
...
- 简化 LogAttribute 元数据名称定义
- 移除不必要的注释和步骤编号
- 重构属性筛选逻辑,直接在候选结果中查找匹配属性
- 简化源代码输出注册过程
- 移除冗余的符号合并操作
2025-12-23 22:54:31 +08:00
GwWuYou
d4b37345db
feat(logging): 添加LogAttribute诊断验证功能
...
- 定义新的诊断描述符GFW_LOG001用于检测LogAttribute无法生成Logger的情况
- 在代码生成过程中验证LogAttribute是否存在及构造参数有效性
- 当LogAttribute缺失或参数无效时报告诊断错误并提供详细信息
- 修复代码格式化问题并优化代码生成逻辑
- 更新AnalyzerReleases.Unshipped.md文档添加新诊断规则
- 改进Generate方法参数传递和错误处理机制
2025-12-23 22:31:42 +08:00
GwWuYou
0221ed92a6
fix(generator): 修复代码生成器中的属性元数据名称和注释问题
...
- 修复 LoggerGenerator 中的 AttributeMetadataName 路径错误
- 移除 EnumExtensionsGenerator 中的冗余注释代码
- 解决属性类名匹配的潜在问题
2025-12-23 22:10:05 +08:00
GwWuYou
74df4a5ca3
docs(generator): 添加日志代码生成器使用文档
...
- 创建 GFramework 日志代码生成器完整使用指南
- 包含快速开始示例和基本使用方法说明
- 添加特性参数说明和高级配置示例
- 提供在系统、模型、工具类等不同场景的使用示例
- 整理最佳实践和注意事项部分
- 说明性能考虑和与现有日志系统的兼容性
2025-12-23 21:36:54 +08:00
GwWuYou
7d2fbc32da
refactor(logging): 优化日志生成器中的类别表达式处理
...
- 将类别处理逻辑重构为条件判断,支持用户显式指定字符串或默认使用 nameof
- 添加字符串空值检查,避免空字符串或空白字符的无效输入
- 使用 nameof 表达式作为默认类别值,提高代码可维护性
- 统一类别表达式的字符串格式化处理
2025-12-23 21:30:21 +08:00
GwWuYou
ab5ea42350
feat(logging): 添加日志生成器功能
...
- 实现了 LoggerGenerator 源代码生成器,为标记 LogAttribute 的类自动生成日志字段
- 添加了 LogAttribute 特性,支持配置日志分类、字段名、访问修饰符和静态属性
- 创建了 Diagnostics 静态类,定义 GFLOG001 诊断规则检查 partial 类声明
- 集成 Microsoft.CodeAnalysis 包,启用增量生成器和扩展分析器规则
- 生成的代码包含命名空间、类名和日志字段的完整实现
2025-12-23 21:04:53 +08:00
GeWuYou
5087db9f21
refactor(logging): 优化日志系统实现
...
- 为ConsoleLogger中的_writer添加空值检查操作符
- 移除LogConfig中的未使用using语句
- 为LoggerFactory添加方法注释文档
- 调整ConsoleLogger默认构造函数参数
- 优化日志系统的代码结构和可读性
- [no tag]
2025-12-23 13:38:20 +08:00
GeWuYou
64543be0b5
docs(logging): 更新日志系统文档并移除示例代码文件
...
- 在README.md中添加基本使用示例和详细使用示例
- 添加框架组件日志使用示例代码
- 添加高级配置和异常日志记录示例
- 添加生产环境配置示例
- 添加框架组件中日志使用最佳实践
- 移除LoggingExample.cs示例文件
- 更新日志级别说明和配置建议
2025-12-23 13:35:51 +08:00
GeWuYou
9104202af5
refactor(logging): 重构日志工厂中的组合日志记录器实现
...
- 将 CompositeLogger 类改为密封类并使用主构造函数
- 移除不必要的 category 参数传递
- 为 CompositeLogger 类添加详细的 XML 文档注释
- 调整代码格式和缩进保持一致性
- 优化 CompositeLogger 构造函数参数结构
2025-12-23 13:32:29 +08:00
GeWuYou
9ed57324c7
refactor(ioc): 优化IocContainer中GetSingle方法的switch表达式
...
- 将switch表达式重构为传统switch语句
- 添加了对单个实例情况的明确处理
- 统一了错误消息变量命名规范
- 保持了原有的功能逻辑不变
- 改进了代码的可读性和维护性
2025-12-23 13:29:18 +08:00
GeWuYou
0980fd48b5
refactor(logging): 完善日志系统实现和API设计
...
- 为ConsoleLogger添加完整的XML文档注释
- 实现GodotLogger中缺失的日志级别方法
- 统一Fatal方法签名,支持异常参数传递
- 为NullLogger添加完整的方法注释
- 修复LoggerFactory中的文件路径处理逻辑
- 移除日志示例中对架构阶段的直接访问
- 添加全局日志记录器创建功能
2025-12-23 13:23:42 +08:00
GeWuYou
c1037c7fe2
refactor(architecture): 调整架构阶段访问权限并添加可扩展接口
...
- 将Architecture.CurrentPhase属性改为私有访问
- 新增IArchitectureExtensible接口提供模块安装和生命周期钩子注册功能
- 实现架构模块安装和生命周期钩子注册的扩展能力
- 优化架构的可扩展性和模块化设计
2025-12-23 13:23:37 +08:00
GeWuYou
32a1734659
feat(logging): 添加日志系统并集成到框架核心组件
...
- 实现了完整的日志系统,包括ILog接口和ConsoleLogger实现
- 添加了LogConfig配置类和LoggerFactory工厂类
- 在架构、系统、事件、IOC容器等核心组件中集成了日志记录功能
- 添加了NullLogger和CompositeLogger支持
- 创建了详细的日志使用示例和文档
- 实现了日志级别的分类配置和彩色输出功能
2025-12-23 13:08:52 +08:00
GeWuYou
fdaac135f9
feat(logging): 添加日志记录系统的基础实现
...
- 定义了ILog接口,提供日志记录和级别检查功能
- 实现了GodotLogger类,将日志输出到Godot控制台
- 创建了ILoggerFactory接口用于创建日志记录器实例
- 添加了Log静态类提供全局日志记录功能
- 定义了LogLevel枚举标识不同严重程度的日志级别
- 实现了NullLogger用于禁用日志记录功能
2025-12-23 12:52:07 +08:00
GwWuYou
be71076efc
feat(GFramework.Godot): 添加 Node 扩展方法 OfType 用于类型转换
...
新增 OfType 扩展方法,支持将 Node 安全转换为目标类型 T。
该方法会在节点无效或类型不匹配时抛出 InvalidCastException 异常。
同时优化了 SafeCallDeferred 方法的节点有效性检查逻辑。
2025-12-22 22:31:06 +08:00
GwWuYou
49383660a7
build(GFramework.Game): 移除无用的 input 文件夹引用
...
移除了 GFramework.Game 和 GFramework.Godot 项目中不再需要的 input 文件夹引用,
以清理项目结构并减少不必要的编译项。
2025-12-22 20:49:34 +08:00
GwWuYou
84ecd9fdc0
feat(input): 移除旧版输入系统相关接口与实现
...
删除了游戏框架中原有的整套输入系统接口和实现类,
包括 IGameInputEvent、IInputContext、IInputTranslator、
InputContextStack、InputEvents、InputSystem 等定义。
同时移除了 Godot 模块中与之关联的输入桥接与翻译组件,
如 AbstractGodotInputModule、GodotInputBridge、
GodotInputTranslator 等,为重构或替换新的输入系统做准备。
2025-12-22 20:23:06 +08:00
GwWuYou
cae1223fb5
feat(input): 扩展输入阶段支持
...
新增对 Capture 阶段输入事件的支持,不再仅限于 Bubble 阶段处理输入。
此更改允许在拖拽等场景中,在 Capture 阶段也能正确处理输入事件,
提升输入处理的灵活性和准确性。
2025-12-22 19:50:19 +08:00
GeWuYou
e39f32d9a8
fix(input): 修正输入系统事件处理逻辑
...
- 移除了输入处理中的提前返回语句,确保所有翻译器都能被遍历
- 修正了Godot输入桥接节点名称的格式字符串拼接错误
- 为输入上下文堆栈增加了带参数的Pop方法,支持安全弹出指定上下文
- 新增Peek方法用于获取堆栈顶部的输入上下文而不移除它
- 更新了输入处理方法的注释说明,明确处理流程是从堆栈顶部开始遍历
- 调整了堆栈遍历顺序,确保按照后进先出的原则处理输入事件
2025-12-22 13:18:12 +08:00
GeWuYou
f8a6155921
refactor(input): 重构Godot输入模块以优化架构集成
...
- 移除模块附加时的节点创建逻辑
- 将输入系统注入移到Install方法中
- 优化输入转换器注册流程
- 简化模块分离时的资源清理过程
- 统一输入系统的访问方式
- 提高代码可读性和维护性
2025-12-22 12:43:39 +08:00
GwWuYou
d36f027254
fix(architecture): 修复架构锚点节点名称格式问题
...
- 修正了架构锚点节点名称中的多余美元符号($)格式错误
- 确保节点名称符合框架命名规范
- 避免潜在的字符串解析异常
2025-12-21 21:21:49 +08:00
GwWuYou
296c428c40
feat(core): 添加架构阶段的None状态并更新相位转换表
...
- 在ArchitecturePhase枚举中新增None状态,表示未定义阶段
- 更新PhaseTransitions字典,将None阶段映射到Created阶段
- 为None状态添加XML文档注释说明其用途
- 确保架构相位转换逻辑支持从None到Created的流转
2025-12-21 21:04:56 +08:00
GwWuYou
8a963e3e5e
refactor(asset): 重构资源注册方法命名与注释
...
- 将 RegisterGameUnit 方法重命名为 RegisterSceneUnit
- 将 RegisterTemplate 方法重命名为 RegisterScenePage
- 更新相关注释以匹配新的方法命名
- 统一参数命名风格,提升代码可读性
- 调整代码格式,增加空行分隔不同功能区域
2025-12-21 19:22:47 +08:00
GwWuYou
6c2832915f
feat(assets): 重构资产目录系统以支持场景单元和场景页面
...
将原有的 `GameUnit` 和 `Template` 概念重构为更具体的 `SceneUnit` 和 `ScenePage`,
并更新了相关的注册、查询和接口定义。同时修改了Godot模块中对这些资源的引用方式,
确保整体架构的一致性和可维护性。
2025-12-21 17:36:35 +08:00
GwWuYou
028ece27db
```
...
refactor(input): 重构Godot输入模块为抽象基类并优化输入处理流程
将 `GodotInputModule` 重命名为 `AbstractGodotInputModule` 并改为抽象类,
以便支持更灵活的输入翻译器注册机制。引入 `GodotInputPhase` 枚举和
`GodotRawInput` 结构体以区分输入处理的不同阶段(捕获与冒泡)。
同时修改 `GodotInputTranslator` 仅在Bubble阶段生成游戏事件,提升输入处理精度。
```
2025-12-21 16:52:36 +08:00
GwWuYou
4bd9853ec1
feat(input): 引入输入转换器接口及实现
...
新增 `IInputTranslator` 接口用于解耦原始输入与游戏事件的转换逻辑。
在 `InputSystem` 中增加注册、注销和处理原始输入的方法,支持优先级控制。
重构 `GodotInputBridge`,移除原有硬编码翻译逻辑,改为通过 `HandleRaw` 调用转换器处理。
新增 `GodotInputTranslator` 实现 `IInputTranslator`,负责将 Godot 输入事件翻译为游戏事件。
模块初始化时自动注册该转换器至输入系统。
2025-12-21 16:34:20 +08:00
GwWuYou
339498e629
feat(GFramework.Godot): 引入 Godot 输入模块与架构锚点重构
...
新增 GodotInputModule 和相关输入事件类型,实现 Godot 输入系统与游戏框架的桥接。
重构架构锚点类名及其引用,统一使用 GFrameworkConstants 中定义的框架名称常量。
添加 AbstractGodotModule 基类以规范模块行为,并完善输入事件记录类定义。
2025-12-21 16:13:16 +08:00
GwWuYou
bb403bd454
feat(architecture): 添加架构配置选项支持
...
新增 `IArchitectureOptions` 接口及其实现类 `FunctionalArchitectureOptions`,
用于控制架构行为,如阶段验证严格性和延迟注册许可。
同时为 `Architecture<T>` 类添加虚属性 `Options`,默认返回功能型选项实例。
修改了阶段转换验证、系统/模型注册时机检查逻辑,以支持通过选项动态控制其行为。
调整部分代码格式以提升可读性。
2025-12-21 14:35:55 +08:00
GwWuYou
259c4411c7
refactor(architecture): 重构Godot架构扩展机制为模块机制
...
将原有的IGodotArchitectureExtension接口及其实现统一替换为IGodotModule接口,
以提供更清晰、更具扩展性的模块化支持。同时更新了相关字段和方法命名,
使其语义更加准确,提升代码可读性和维护性。
2025-12-21 13:31:39 +08:00
GwWuYou
86053f2aee
feat(GFramework.Godot): 增强架构生命周期管理与扩展支持
...
- 将 `Architecture.Destroy` 方法标记为 `virtual`,允许子类重写销毁逻辑
- 在 `AbstractArchitecture` 中引入 Godot 生命周期绑定机制,通过锚点节点自动管理架构销毁
- 新增 `IGodotArchitectureExtension` 接口,支持模块化的扩展组件安装与卸载
- 实现 `InstallGodotExtension` 方法,用于异步加载并挂载扩展节点至架构根节点
- 改进 `ArchitectureAnchorNode` 的回调绑定逻辑,增加重复绑定警告提示
- 优化注释内容,提升代码可读性与维护性
2025-12-21 12:55:50 +08:00
GwWuYou
f990f8d2c1
refactor(architecture): 重构架构初始化流程
...
将原有的 RegisterModels、RegisterSystems 和 RegisterUtilities 方法合并为统一的
InstallModules 抽象方法,由子类实现具体的模块注册逻辑。同时调整初始化顺序,确保
架构能正确绑定到 Godot 生命周期中并管理资源清理。
2025-12-21 12:28:02 +08:00
GwWuYou
383d934e02
feat(core): 完善架构销毁逻辑并新增生命周期事件
...
- 优化 `Architecture.Destroy()` 方法,确保系统资源被正确清理
- 添加销毁阶段的状态检查,防止重复销毁
- 引入 `ArchitectureDestroyingEvent` 和 `ArchitectureDestroyedEvent` 事件
- 补充架构事件类的注释说明,提升代码可读性
2025-12-21 11:58:44 +08:00
GwWuYou
8df2b071cf
feat(core): 重构架构初始化事件为生命周期就绪事件
...
将 `ArchitectureInitializedEvent` 重命名为 `ArchitectureLifecycleReadyEvent`,
并在 `AbstractResourceFactorySystem` 中实现 `IArchitectureLifecycle` 接口,
使其在架构进入就绪阶段时注册并预加载资源。
2025-12-21 11:54:27 +08:00
GwWuYou
9a6d41950a
feat(Architecture): 重构架构类并增强生命周期管理
...
- 添加了多个字段和属性的区域划分,提升代码可读性
- 增强了阶段转换控制与验证机制
- 新增模块安装、组件注册与获取、命令执行和查询处理等区域
- 改进了销毁逻辑与生命周期钩子的通知机制
- 对方法进行了重新组织和注释补充,优化结构与维护性
2025-12-21 11:47:01 +08:00
GwWuYou
d1cd0cfb05
feat(architecture): 引入架构阶段管理机制
...
新增 `ArchitecturePhase` 枚举及生命周期接口,支持在不同阶段执行相应逻辑。
实现基于阶段的状态转换控制与校验,增强架构初始化流程的可控性与扩展性。
添加模块安装接口 `IArchitectureModule` 及相关感知接口,便于插件化集成。
完善系统与模型注册限制,禁止在就绪后注册组件,提升运行时稳定性。
移除旧版补丁注册机制,统一通过生命周期钩子进行扩展。
2025-12-21 11:39:35 +08:00