GeWuYou
8b5efc69ec
chore(build): 删除文件夹映射配置和命名空间更新脚本
...
- 移除 folder-mappings.json 配置文件
- 删除 update-namespaces.sh 自动化脚本
- 清理项目中的文件夹重命名映射关系
- 移除自动生成命名空间更新的功能
- 完成代码库结构规范化清理工作
2026-03-12 21:35:50 +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
v0.0.202
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): 更新文档导航结构并添加新章节
v0.0.201
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