245 Commits

Author SHA1 Message Date
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参考和生命周期管理说明
v0.0.105
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 相关代码
- 更新所有相关依赖注入和类型引用以匹配新的工具组件架构
v0.0.104
2026-01-09 19:31:46 +08:00
GwWuYou
38625b80db feat(core): 添加空命令和查询输入类
- 实现了EmptyCommentInput类用于表示无参数命令
- 实现了EmptyQueryInput类用于表示无参数查询
- 两个类分别实现ICommandInput和IQueryInput接口
- 提供了命令模式中输入参数的占位符实现
- 适用于不需要额外输入参数的简单操作场景
v0.0.103
2026-01-07 22:23:05 +08:00
GwWuYou
e000665c67 feat(architecture): 添加上下文工具初始化阶段支持
- 在架构中新增 _mContextUtilities 集合存储未初始化的上下文工具
- 实现工具注册时根据初始化状态决定是否立即初始化上下文工具
- 添加 BeforeUtilityInit 和 AfterUtilityInit 两个新的架构阶段
- 更新架构阶段转换配置以支持工具初始化流程
- 在同步和异步架构测试中验证新的初始化阶段序列
- 完善架构初始化流程日志记录和调试信息
v0.0.102
2026-01-07 21:16:43 +08:00
GwWuYou
0766416f83 feat(architecture): 添加上下文工具支持
- 注册工具时自动设置上下文
- 添加对IContextUtility类型的支持
- 集成extensions命名空间以支持类型检查
v0.0.101
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 接口定义查询输入规范
- 为所有抽象方法添加参数文档注释
v0.0.100
2026-01-04 22:10:46 +08:00
GwWuYou
029f3a4652 refactor(model): 优化模型架构上下文设置机制
- 移除通过反射调用SetArchitecture方法的方式
- 改为直接调用model.SetContext(Context)方法
- 将AbstractModel基类继承ContextAwareBase
- 删除手动实现的SetContext和GetContext方法
- 简化模型注册流程,提高代码可读性
v0.0.99
2026-01-03 22:10:56 +08:00
GwWuYou
49ceb35156 feat(architecture): 添加环境配置支持并重构架构初始化
- 引入IEnvironment接口和EnvironmentBase抽象类实现环境管理
- 在Architecture类中添加environment参数和Environment属性
- 修改ArchitectureContext构造函数以接收环境对象
- 添加DefaultEnvironment默认环境实现类
- 更新ContextAwareExtensions扩展方法支持环境获取
- 移除NoopLogger和NoopLoggerFactory无操作日志类
- 重构架构初始化流程以包含环境初始化
- 添加GetEnvironment扩展方法用于获取环境对象
v0.0.98
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 的导入顺序
v0.0.97
2026-01-03 20:24:31 +08:00
GwWuYou
ba8e9b5bb3 refactor(ResourceFactorySystem): 更新资源工厂系统依赖注入
- 添加 System 命名空间引用
- 将 _assetCatalogSystem 替换为 _resourceLoadSystem
- 保持原有的资产目录系统注入逻辑
v0.0.96
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 模块中系统获取的重复代码问题
v0.0.95
2026-01-03 12:07:32 +08:00
GwWuYou
f88f90f394 feat(signal): 为SignalBuilder添加连接标志参数支持
- 为To方法添加GodotObject.ConnectFlags参数,默认为null
- 为ToAndCall方法添加GodotObject.ConnectFlags参数,默认为null
- 重构连接逻辑使用合并后的标志值
- 更新XML文档注释包含新参数说明
v0.0.94
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文档注释中的参数描述
v0.0.93
2026-01-02 21:14:36 +08:00
GwWuYou
cacd82d7b7 refactor(signal): 优化 SignalBuilder 的 To 方法实现
- 将方法功能描述从"将信号连接到指定的处理方法"更新为"连接信号到指定的可调用对象"
- 为 To 方法添加返回值类型 SignalBuilder 以支持链式调用
- 简化连接逻辑,移除不必要的 if-else 分支
- 添加 End 方法用于返回目标节点
- 更新参数说明文档
v0.0.92
2026-01-02 20:46:53 +08:00
GwWuYou
cb17d9ecdd refactor(ci): 优化 GitHub Actions 发布工作流
- 使用 softprops/action-gh-release 替换 actions/create-release
- 简化发布创建和资产上传流程
- 移除手动 curl 上传 .nupkg 文件的复杂脚本
- 直接通过 files 参数支持通配符上传所有包文件
- 保持发布描述和版本信息功能
- 减少工作流步骤数量,提高可维护性
v0.0.91
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",保持日志简洁一致
- 统一安装前后的日志格式
- 提高日志可读性,便于调试和监控
v0.0.90
2026-01-02 13:37:55 +08:00
GwWuYou
8bccd0fa7f refactor(architecture): 优化模块安装日志记录
- 提取模块类型名称到局部变量以避免重复调用
- 统一使用变量名简化日志消息中的模块名称引用
- 保持原有日志功能不变,仅优化代码结构
2026-01-02 13:37:11 +08:00