78 Commits

Author SHA1 Message Date
GeWuYou
e755c5c7f8 refactor(core): 替换Mediator集成实现为通用服务配置机制
- 移除专用的RegisterMediator方法,替换为ExecuteServicesHook通用服务配置方法
- 从架构配置中移除Mediator特定配置选项,改为通用服务配置委托
- 在架构基类中添加Configurator属性支持,允许子类提供自定义服务配置
- 更新测试代码适配新的服务配置方式,通过ExecuteServicesHook注册Mediator
- 移除过时的测试组件和相关验证逻辑
- 删除Mediator.SourceGenerator包引用,保留运行时依赖
- 添加WaitUntilReadyAsync方法的详细文档注释
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
91c9163312 feat(core): 集成Mediator框架并添加CQRS行为支持
- 移除直接的Mediator包依赖,改用Source Generator方式集成
- 添加RegisterMediator方法用于配置Mediator框架
- 添加RegisterMediatorBehavior方法用于注册管道行为
- 实现LoggingBehavior用于记录CQRS请求处理日志
- 实现PerformanceBehavior用于监控请求执行性能
- 更新架构配置以支持Mediator自定义配置
- 优化容器冻结检查的代码结构
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]
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
d1cdac8082 docs: 更新文档链接和代码块格式
- 修复了文档中多个文件的链接指向,统一使用相对路径格式
- 移除了代码块中的语言标识符以保持一致性
- 更新了存储模块文档中的类名显示方式
- 修正了架构文档中的跨文档引用链接
- 调整了事件、命令、查询等核心模块的文档链接结构
- 规范化了所有代码示例的格式和引用方式
2026-02-11 14:44:46 +08:00
GeWuYou
6b48c92710 docs: 删除多个核心模块的文档文件
- 移除 architecture 模块的 README 文档
- 移除 command 模块的 README 文档
- 移除 environment 模块的 README 文档
- 移除 events 模块的 README 文档
- 清理框架核心组件的使用说明文档
2026-02-11 12:52:14 +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
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
c8be4b317d refactor(core): 将命令和查询总线重构为执行器模式
- 将 CommandBus 重命名为 CommandExecutor 并更新相关接口
- 将 QueryBus 重命名为 QueryExecutor 并更新相关接口
- 将 AsyncQueryBus 重命名为 AsyncQueryExecutor 并更新相关接口
- 更新 ArchitectureContext 中的服务引用和错误消息
- 修改 ArchitectureServices 中的私有字段和公共属性名称
- 更新所有测试文件中的实例变量和服务引用
- 修改测试类名称以匹配新的执行器命名
- 更新状态机系统测试中的容器注册项
2026-02-05 12:46:44 +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
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
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
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
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
cc8f40ee44 style(formatter): 统一代码格式化和文档缩进
- 调整文档文件中的缩进格式一致性
- 修正所有C#接口和类定义中的注释缩进
- 移除测试代码中不必要的构造函数参数
- 重构条件语句减少嵌套层级
- 规范方法体的大括号使用风格
- 整理全局命名空间声明格式
- 优化方法实现的代码结构和可读性
- [release ci]
2026-01-29 22:35:45 +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
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
11c94d462f feat(setting): 添加设置数据版本迁移功能
- 新增 IVersioned 接口用于定义版本信息
- 实现设置数据自动迁移机制,支持版本升级转换
- 添加 SettingsMigration 接口用于处理不同版本间的数据转换
- 在 SettingsModel 中集成迁移功能,加载时自动执行版本迁移
- 优化设置数据管理,新增 AllData 方法获取所有设置数据
- 重构代码结构,添加清晰的方法分组注释块
2026-01-27 22:22:20 +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
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
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
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
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
825a026c8e refactor(architecture): 重构架构上下文和服务初始化逻辑
- 移除 Architecture 类中的命令总线、查询总线和异步查询总线属性
- 修改 ArchitectureContext 构造函数,仅接收容器参数并实现服务缓存机制
- 添加 GetService 方法用于获取指定类型的服务实例
- 更新所有查询和命令方法使用服务缓存机制
- 修改 ArchitectureServices 构造函数初始化逻辑,将服务注册到容器
- 更新相关测试类中的上下文初始化方式
- 在 GameContext 和相关测试类中实现 GetService 方法
2026-01-18 22:26:02 +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
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
ba91b68c64 feat(architecture): 修改InstallModule和RegisterLifecycleHook方法返回实例
- InstallModule方法现在返回安装的模块实例
- RegisterLifecycleHook方法现在返回注册的钩子实例
- 为两个方法添加返回值的XML文档注释
- 更新接口定义以匹配新的返回类型
2026-01-17 19:44:56 +08:00
GeWuYou
e29b6da9e1 refactor(ContextAwareExtensions): 重构命令发送方法并优化代码结构
- 移除重复的SendCommand同步方法实现
- 统一Context变量命名规范,修复大小写不一致问题
- 调整方法顺序并重新组织代码结构
- 完善IAsyncCommand接口的XML文档注释
- 优化异步命令执行的实现逻辑
2026-01-17 19:26:13 +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
ce6cb3f8df refactor(state): 修改状态机接口返回类型支持链式调用
- 将Register方法返回类型从void改为IStateMachine
- 将Unregister方法返回类型从void改为IStateMachine
- 在实现类中添加return this语句
- 更新接口定义以匹配新的返回类型
- 实现链式调用功能提升API易用性
2026-01-17 13:20:33 +08:00
GeWuYou
00053e67e5 refactor(architecture): 修改注册方法返回注册成功的实例
- 修改RegisterSystem方法返回注册的系统实例
- 修改RegisterModel方法返回注册的模型实例
- 修改RegisterUtility方法返回注册的工具实例
- 更新接口定义以匹配新的返回值类型
- 添加泛型约束说明到XML文档注释
2026-01-17 13:07:56 +08:00
GeWuYou
47326085e7 fix(state): 修改状态机切换方法返回值类型并改进转换失败处理
- 将ChangeTo方法返回值从void改为bool类型
- 添加转换失败时返回false的逻辑
- 在状态转换被拒绝时调用OnTransitionRejected回调
- 更新接口定义以匹配新的返回值类型
- 修改单元测试以验证转换失败时的返回值
- [skip ci]
2026-01-17 10:06:16 +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