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 |
|
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 |
|