39 Commits

Author SHA1 Message Date
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
3d8e19b5e2 refactor(architecture): 重构架构类为模块化设计提升代码安全性
- 将单一 Architecture 类拆分为 ArchitectureLifecycle、ArchitectureComponentRegistry 和 ArchitectureModules
- 消除 3 处 null! 强制断言,在构造函数中初始化管理器提高代码安全性
- 添加 PhaseChanged 事件支持架构阶段监听
- 所有公共 API 保持不变确保向后兼容
- 实现单一职责原则使代码更易维护和测试
- 组件注册、生命周期管理和模块管理职责分离到专门的管理器中
2026-03-17 11:08:48 +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
GwWuYou
e23a53c3d4 feat(template): 添加控制器类模板并更新项目配置
- 添加了控制器类模板文件 ControllerTemplate.cs
- 在项目文件中添加 Godot 目录的排除规则
- 更新项目引用和编译排除规则
- 统一项目配置中的路径格式
- 添加控制器模板的元数据信息
- [skip ci]
2026-01-04 22:50:37 +08:00
GwWuYou
0599f289f0 refactor(godot): 重构资源工厂系统架构
- 移除 IArchitecturePhaseAware 接口依赖
- 将 OnArchitecturePhase 方法改为重写基类方法
- 添加 Godot 模块命名空间占位类型
- 移除项目中未使用的 NUnit 包引用
2026-01-01 21:48:21 +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
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
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
2dea63e69f refactor(abstractions): 将抽象接口迁移至独立项目并更新引用
- 将架构相关接口从 GFramework.Core 迁移至 GFramework.Core.Abstractions 项目
- 更新项目引用配置,添加对抽象层项目的项目引用
- 修正命名空间引用,使用新的抽象层命名空间
- 调整类型定义,将 List<T> 替换为更通用的 IList<T> 接口
- 修复控制器接口命名空间错误
- 添加必要的 using 语句以支持新的抽象层引用
2025-12-28 10:37:18 +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
0126b69c5c refactor(source-generators): 重构源代码生成器项目结构和配置
- 移除 IArchitectureExtensible 接口定义
- 更新 Godot 源代码生成器项目配置,添加 Nullable 启用和包路径配置
- 添加 Directory.Build.props 构建属性文件到抽象层项目
- 修复命名空间引用错误和添加 using 语句
- 优化源代码生成器项目的打包配置和依赖引用
- 添加文档注释到 LogAttribute 构造函数
- 更新主项目文件中的源代码生成器相关引用路径
- 从解决方案用户设置中移除过时配置文件
- 添加解决方案用户设置到 gitignore 文件
2025-12-27 22:18:26 +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
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
GwWuYou
2baa29aed6 feat(godot): 添加Godot游戏开发相关组件和系统
- 新增架构层支持,包括AbstractArchitecture和ArchitectureAnchorNode
- 实现拖拽功能组件AbstractDragDrop2DComponentBase和AbstractDragDropArea2DComponent
- 添加节点扩展方法类NodeExtensions,提供多种实用的节点操作方法
- 新增资源目录系统AbstractAssetCatalogSystem用于管理游戏资源
- 实现音频管理系统AbstractAudioManagerSystem支持背景音乐和音效播放
- 添加取消注册扩展方法UnRegisterExtension
- 创建GFramework.Game项目模块
- 重构项目结构,聚合核心模块并优化依赖引用
- [no tag]
2025-12-19 22:36:42 +08:00
GwWuYou
7d554cbddf feat(core): 添加对 .NET 10 框架的支持
- 在 GFramework.Core 项目中添加 net10.0 目标框架
- 在 GFramework.Core.Godot 项目中添加 net10.0 目标框架
- 在主 GFramework 项目中添加 net10.0 目标框架
- 调整目标框架顺序,将 net8.0 置于首位
2025-12-17 21:26:46 +08:00
GwWuYou
82713e34f0 refactor(core): 重构架构和命令相关代码结构
- 调整了 Architecture 类中字段和方法的布局,提升可读性
- 优化了命令执行逻辑,明确区分有无返回值的命令处理
- 规范了接口和抽象类的注释格式,增强文档清晰度
- 统一了代码风格,对齐缩进与换行符使用
- 补充了事件系统中泛型事件类的功能实现
- 完善了 README 文档中的条目结构和内容表述
2025-12-12 21:10:21 +08:00
GwWuYou
7a34282205 build(publish): 禁用符号包生成以优化发布流程
- 在 GitHub Actions 工作流中禁用符号包生成
- 更新项目文件配置,移除符号包相关设置
- 简化打包命令参数,提高构建效率
2025-12-11 10:19:34 +08:00
GwWuYou
fdc51e23b7 refactor(godot): 重构Godot相关扩展并迁移至新项目结构
- 将NodeExtensions和UnRegisterExtension迁移至GFramework.Core.Godot项目
- 更新命名空间以匹配新的项目结构
- 为扩展方法参数添加可空注解以提高安全性
- 移除旧的条件编译指令#if GODOT和#endif
- 创建新的GFramework.Core.Godot.csproj项目文件
- 在解决方案中注册新的GFramework.Core.Godot项目
- 更新主项目文件以排除新项目中的文件冲突
- 添加GodotSharpEditor包引用以支持Godot编辑器功能
- 链接新项目的扩展文件到原有路径以保持兼容性
2025-12-11 10:14:00 +08:00
GwWuYou
4a947a40b1 build: 移除构建中的符号包含选项
- 在 GitHub Actions 的 publish 工作流中移除了 `--include-symbols` 参数
- 在项目文件中显式设置 `<DebugType>` 为 portable
- 确保生成的包不包含符号文件,减少包体积
- 保留了便携式调试信息以支持基本调试需求
- 更新了构建配置以匹配新的发布流程
- 验证了测试和发布步骤仍然正常运行
2025-12-10 12:09:03 +08:00
GwWuYou
496137661d build(publish): 更新发布配置以包含符号和包生成
- 在构建命令中添加 --include-symbols 参数
- 启用 GeneratePackageOnBuild 属性以自动生成 NuGet 包
- 确保发布流程包含调试符号和源代码嵌入
2025-12-10 12:06:23 +08:00
GwWuYou
240f1fd899 refactor(build): 移除打包 Source Generator 的自定义目标
- 删除了用于构建和打包 Source Generator 的 MSBuild 目标
- 简化了项目引用结构
- 移除了与 analyzers 文件夹相关的复制逻辑
- 清理了不必要的项目配置代码
- 优化了 NuGet 包生成流程
- 提高了构建脚本的可维护性
2025-12-10 11:59:43 +08:00
GwWuYou
3678e5c4a1 chore(build): 更新源代码生成器路径引用
- 调整了项目文件中源代码生成器的相对路径
- 修正了生成器DLL文件的引用位置
- 确保打包时能正确包含分析器组件
2025-12-10 10:54:13 +08:00
GwWuYou
6046eee7fa chore(build): 调整项目打包配置以支持Source Generator
- 移除不再需要的RepositoryType属性
- 添加IncludeBuildOutput属性以控制构建输出
- 更新项目引用方式,将Source Generator作为Analyzer引入
- 配置打包目标,将Source Generator复制到nupkg的analyzers目录
- 优化项目排除逻辑,确保生成器相关文件不参与主项目编译
- 完善项目文件结构,提高可读性和维护性
2025-12-10 10:41:17 +08:00
GwWuYou
92a171688e chore(build): 调整项目引用配置
- 移除了 Generator 项目的 PrivateAssets 属性设置
- 保持了对 Generator.Attributes 和 Core 项目的引用不变
- 简化了项目间的依赖引用方式
2025-12-10 10:23:59 +08:00
GwWuYou
65a9afe04f feat(generator): 配置代码生成器项目以支持NuGet包发布
- 添加 IsRoslynAnalyzer 和 GeneratePackageOnBuild 属性
- 更新项目引用配置以支持分析器使用
- 添加 System.Collections.Immutable 包引用
- 配置生成文件输出路径和可见性
- 添加 README.md 文件并配置打包路径
- 设置包读取文档文件引用
2025-12-10 09:42:09 +08:00
GwWuYou
e204f899ba refactor(core): 重构框架命名空间为GFramework.Core
- 将所有framework命名空间下的类迁移至GFramework.Core命名空间
- 更新所有相关using引用从framework到Core
- 重命名项目文件夹及文件路径以匹配新的命名空间结构
- 在解决方案中添加GFramework.Core项目引用
- 配置项目依赖关系并移除旧的Generator引用冲突
- 创建独立的GFramework.Core.csproj项目文件支持多目标框架
2025-12-10 08:51:17 +08:00
GwWuYou
50a71deaa7 feat(generator): 添加枚举扩展方法生成器及相关属性
- 新增 EnumExtensionsGenerator 源生成器
- 实现 GenerateEnumExtensionsAttribute 特性标注
- 为标记的枚举自动生成 IsXXX 和 IsIn 扩展方法
- 配置项目引用及 Analyzer 打包设置
- 更新解决方案文件包含新增项目
- 调整主项目配置排除生成器相关文件编译
2025-12-10 08:39:27 +08:00
GwWuYou
73de67d7b5 feat(nuget): 添加包README文件支持
- 在项目文件中添加PackageReadmeFile属性
- 配置README.md文件包含到NuGet包
- 支持多目标框架(net9.0;net8.0)的包发布
- 添加符号包生成配置
- 完善NuGet包元数据配置
- [no tag]
2025-12-09 19:06:27 +08:00
GwWuYou
2b5cda550e chore(csproj): 移除包读取文件配置
- 删除了 PackageReadmeFile 配置项
- 简化了项目文件配置
- 保持 TargetFrameworks 配置不变
- 维持符号包格式设置
- 保留根命名空间定义
2025-12-09 19:05:00 +08:00
GwWuYou
babd41b932 build: 更新项目目标框架
- 移除了单个目标框架配置
- 添加了多目标框架支持(net9.0 和 net8.0)
- 保留了隐式引用和可空引用配置
- 维持了包标识符和命名空间设置
- 保持了符号包格式和 README 文件配置
2025-12-09 19:02:44 +08:00
GwWuYou
fcc295e8fe build(nuget): 添加包文档文件配置
- 在项目文件中添加 PackageReadmeFile 配置项
- 指定 README.md 作为 NuGet 包的文档文件
- 确保包发布时包含文档说明
- [no tag]
2025-12-09 18:52:21 +08:00
GwWuYou
6287336345 chore(sln): 修复解决方案文件中的项目路径
- 修正了 GFramework 项目的 csproj 文件路径
- 移除了路径中的多余空格
- 确保项目 GUID 保持不变
- 验证了解决方案配置平台设置
- 测试了解决方案的加载和构建功能
- 更新了相关的全局配置节区引用
2025-12-09 18:43:57 +08:00
GwWuYou
b7b67e6256 refactor(framework): 重构框架命名空间从GFramework到GWFramework
- 将所有文件中的命名空间GFramework替换为GWFramework
- 更新项目文件GFramework.csproj中的包ID和产品名称为GWFramework
- 修改解决方案文件GFramework.sln中项目的引用名称为GWFramework
- 替换LazyThreadSafetyMode的完整命名空间引用
- 统一调整各模块间相互引用的命名空间前缀
2025-12-09 18:17:22 +08:00
GwWuYou
39b0182c55 chore(project): 更新项目作者信息
- 将作者名称从 GeWuYou 更改为 gewuyou
- 保持其他项目元数据不变
2025-12-09 17:20:34 +08:00
GwWuYou
404cb769e4 feat(ci): 添加自动版本递增和标签创建功能
- 新增 GitHub Actions 工作流文件 auto-tag.yml
- 实现基于提交信息的关键字跳过机制 ([skip release] / [no tag])
- 自动解析最新语义化版本号并递增修订号
- 使用 PAT 推送新标签到远程仓库
- 输出版本变更相关信息供后续步骤使用
2025-12-09 16:59:09 +08:00
GwWuYou
5aa11ddc41 feat(architecture): 添加架构核心组件与命令模式实现
- 新增 Architecture 基类与 IArchitecture 接口,实现单例模式与组件注册管理
- 集成 IOC 容器支持系统、模型、工具的依赖注入与生命周期管理
- 实现命令模式基础类 AbstractCommand 与接口 ICommand,支持带返回值命令
- 提供事件系统集成,支持事件的发布与订阅机制
- 添加控制器接口 IController,整合命令发送、事件注册与模型获取能力
- 创建详细的 README 文档说明各组件使用方式与设计模式应用
- 支持命令、查询、事件的统一调度与解耦通信机制
2025-12-09 15:32:17 +08:00