38 Commits

Author SHA1 Message Date
GwWuYou
0c9063a5fd refactor(architecture): 移除架构运行时并使用命令查询总线
- 移除了 IArchitectureRuntime 接口和 ArchitectureRuntime 类
- 在 ArchitectureContext 中添加了对 ICommandBus 和 IQueryBus 的依赖注入
- 修改 Architecture 类以使用 CommandBus 和 QueryBus 替代 Runtime
- 更新 ArchitectureServices 以提供 CommandBus 和 QueryBus 服务
- 将组件初始化逻辑从 if-else 改为 switch 语句
- 更新 ContextAwareBase 以使用新的 GetFirstArchitectureContext 方法
- 添加了 CommandBus 和 QueryBus 的实现类
- 修复了 Godot 模块中系统获取的重复代码问题
2026-01-03 12:07:32 +08:00
GwWuYou
2f5af5c067 refactor(architecture): 移除架构上下文中的日志属性依赖
- 从 ArchitectureContext 构造函数中移除 LoggerProperties 参数
- 更新 Architecture 类中上下文初始化逻辑,不再传递日志属性
- 优化事件系统中的空值安全处理
- 修正 EasyEvent 泛型类中的类型参数命名
- 移除不再需要的 IsExternalInit 内部实现
- 更新包引用配置添加 PrivateAssets 属性
2026-01-01 22:13:06 +08:00
GwWuYou
f620dea073 refactor(architecture): 重构日志系统和配置属性结构
- 将日志工厂配置改为日志属性配置,使用LoggerProperties替代ILoggerFactory
- 引入ArchitectureProperties替代ArchitectureOptions,统一架构配置属性
- 修改日志记录器创建方式,使用LoggerFactoryResolver.Provider统一管理
- 重构控制台日志工厂提供程序接口,移除minLevel参数
- 更新架构配置接口和上下文接口中的日志相关属性
- 移除Godot日志生成器相关的源代码生成器和特性
- 更新源代码生成器中的日志创建逻辑,使用新的日志工厂解析器
2026-01-01 21:39:08 +08:00
GwWuYou
42d6590edd refactor(generator): 重构ContextAwareGenerator实现
- 移除IContextAware接口的继承要求
- 添加partial关键字检查验证
- 更新诊断规则描述和错误消息
- 修改代码生成逻辑以自动实现IContextAware接口
- 调整Analyzer发布文档格式和链接地址
2026-01-01 10:55:13 +08:00
GwWuYou
0be919d8b1 feat(architecture): 添加架构上下文管理和绑定功能
- 在Architecture类中添加GameContext.Bind调用以绑定架构上下文
- 创建GameContext类用于管理架构上下文实例的注册和获取
- 实现架构上下文的绑定、获取、查找和移除功能
- 更新ContextAwareGenerator生成器以使用懒加载方式获取上下文
- 在测试架构中添加就绪事件注册功能
- 添加架构上下文按类型注册的测试用例
2025-12-29 23:11:50 +08:00
GwWuYou
603b06325d refactor(source-generators): 优化ContextAware生成器实现并添加快照测试
- 为ContextAwareGenerator添加详细的XML文档注释
- 简化接口验证逻辑,合并条件判断语句
- 修正特性数据参数命名,统一使用attr命名
- 为接口实现方法添加global::前缀以确保类型解析正确
- 移除未使用的回退方法体,简化方法实现逻辑
- 新增GeneratorSnapshotTest通用快照测试类
- 添加ContextAwareGeneratorSnapshotTests快照测试
- 移除原有的硬编码期望值测试方法
- 修正接口实现中的全局命名空间前缀格式
2025-12-29 20:30:54 +08:00
GwWuYou
02e2e31e95 feat(core): 添加上下文感知扩展方法并完善架构上下文接口
- 新增 ContextAwareExtensions 扩展类,提供便捷的上下文访问方法
- 为 IContextAware 接口添加 GetContext 方法以获取架构上下文
- 更新 ContextAwareBase 基类实现 GetContext 方法
- 改进源代码生成器的 Generate 方法参数结构
- 重构 ContextAwareGenerator 生成器实现接口方法自动实现
- 更新单元测试以验证新生成的上下文感知代码正确性
2025-12-29 20:06:25 +08:00
GwWuYou
e808a0c365 refactor(generators): 移除枚举扩展生成器中的自动生成标记
- 移除了 IsX 方法中注释的 Auto-generated 前缀
- 移除了 IsIn 方法中注释的 Auto-generated 前缀
- 保持了注释的中文描述内容不变
- 简化了生成代码的注释格式
- [no tag]
2025-12-28 17:21:30 +08:00
GwWuYou
75dfb0a942 refactor(generators): 重构枚举扩展生成器基类实现
- 将 EnumExtensionsGenerator 的基类从 MetadataAttributeClassGeneratorBase 改为 AttributeEnumGeneratorBase
- 修改 AttributeMetadataName 为静态私有字段
- 重写 ResolveAttribute 方法用于解析属性数据
- 更新 ValidateSymbol 方法参数类型为 EnumDeclarationSyntax
- 调整命名空间生成逻辑,简化条件判断
- 重构 AttributeEnumGeneratorBase 基类实现
- 添加 ResolveAttribute 抽象方法用于属性解析
- 改进 Initialize 方法中的语法提供程序逻辑
- 添加 GetHintName 虚方法用于生成文件名提示
2025-12-28 17:13:07 +08:00
GwWuYou
3262e111f4 refactor(generator): 重构源代码生成器基础类和诊断功能
- 为 ValidateSymbol 方法添加 Compilation 参数以支持类型解析
- 实现基于 Compilation 的接口类型验证,替代字符串比较方式
- 添加源代码生成器跟踪诊断功能,便于调试生成过程
- 在 AttributeClassGeneratorBase 中增加详细的执行流程跟踪日志
- 更新诊断描述符配置,添加跟踪信息的诊断支持
- 优化 ContextAwareGenerator 中的接口验证逻辑
2025-12-28 16:17:08 +08:00
GwWuYou
414e49c413 refactor(generators): 重构源代码生成器基类架构
- 将 AttributeClassGeneratorBase 抽象基类拆分为 MetadataAttributeClassGeneratorBase 和 TypeAttributeClassGeneratorBase
- 为 GodotLoggerGenerator 实现 TypeAttributeClassGeneratorBase 基类
- 为 EnumExtensionsGenerator 实现 MetadataAttributeClassGeneratorBase 基类
- 为 LoggerGenerator 实现 TypeAttributeClassGeneratorBase 基类
- 为 ContextAwareGenerator 实现 MetadataAttributeClassGeneratorBase 基类
- 添加 ContextAwareGenerator 中对 IContextAware 接口实现的验证逻辑
- 简化 AttributeClassGeneratorBase 中的语法提供程序实现
- 移除 AttributeClassGeneratorBase 中的异常处理和错误输出逻辑
- 优化属性解析机制,使用元数据名称或类型进行特性查找
2025-12-28 16:08:24 +08:00
GwWuYou
af24a64d3b refactor(ContextAwareGenerator): 移除接口实现检查逻辑
- 删除了对IContextAware接口实现的验证代码
- 简化了ContextAwareGenerator的检查逻辑
- 移除了相关的诊断报告功能
2025-12-28 15:41:12 +08:00
GwWuYou
f2fb8942b7 chore(build): 统一使用 AssemblyName 变量简化项目配置
- 将 PackageId 属性从硬编码名称改为 GeWuYou.$(AssemblyName) 模式
- 更新 GFramework.Godot 项目移除重复的 Product 属性
- 修改源代码生成器项目中的 ProjectReference 路径使用 AssemblyName 变量
- 更新源代码生成器项目中 DLL 文件引用使用 AssemblyName 变量
- 调整 targets 文件引用使用 AssemblyName 变量保持一致性
- 消除项目配置中的硬编码依赖提高维护性
2025-12-28 14:25:33 +08:00
GwWuYou
eed07a1a4b refactor(constants): 将路径常量类移动到通用模块并更新引用
- 将 PathContests 类从 GFramework.SourceGenerators.constants 移动到 GFramework.SourceGenerators.Common.constants
- 删除旧的 GFramework.Godot.SourceGenerators.constants.PathContests 文件
- 更新 GodotLoggerGenerator 中的命名空间引用
- 更新 LoggerGenerator 和 ContextAwareGenerator 的常量引用
- 为 PathContests 类添加详细的 XML 文档注释
- 扩展 PathContests 类,添加多个模块的命名空间常量定义
2025-12-28 13:45:37 +08:00
GwWuYou
a191228d85 refactor(source-generators): 重构命名空间引用和代码生成逻辑
- 将硬编码的命名空间路径替换为常量类中的动态引用
- 添加 PathContests 常量类统一管理框架命名空间
- 更新 LoggerGenerator 使用动态命名空间引用
- 重构 ContextAwareGenerator 生成的代码格式和命名空间引用
- 为 ContextAware 生成的属性添加 XML 文档注释
- 简化 ContextAware 生成文件的路径命名规则
- 更新测试代码以匹配新的命名空间引用方式
2025-12-28 12:39:11 +08:00
GwWuYou
14c7dadee2 refactor(logging): 统一日志记录器的根日志名称引用
- 将 ConsoleLogger 中的 ILogger.RootLoggerName 替换为 RootLoggerName
- 将 NoopLogger 中的 ILogger.RootLoggerName 替换为 RootLoggerName
- 将 GodotLogger 中的 ILogger.RootLoggerName 替换为 RootLoggerName
- 更新 ContextAwareGenerator 生成的文件路径格式,包含完整命名空间路径
2025-12-28 12:06:10 +08:00
GwWuYou
8496bf43bb refactor(logging): 重构日志系统抽象和目标框架配置
- 将 RootLoggerName 常量从接口移至具体实现类 AbstractLogger
- 在 AbstractLogger 中添加 IsEnabledForLevel 方法的完整实现
- 更新 ILogger 接口移除 IsEnabledForLevel 的默认实现
- 统一所有项目的目标框架为 netstandard2.0
- 修正命名空间引用确保日志相关类型正确导入
- 添加详细的 XML 文档注释提升代码可读性
- 优化项目构建属性配置支持更高版本的语言特性
2025-12-28 11:45:24 +08:00
GwWuYou
4172952b11 refactor(source-generators): 重构枚举扩展生成器和日志生成器
- 将 EnumExtensionsGenerator 从 IIncrementalGenerator 迁移到 AttributeClassGeneratorBase
- 将 LoggerGenerator 从 IIncrementalGenerator 迁移到 AttributeClassGeneratorBase
- 添加 AttributeEnumGeneratorBase 基类用于枚举相关生成器
- 更新依赖引用路径,使用新的抽象层和通用生成器基类
- 改进代码生成逻辑,使用强类型 Attribute 替代字符串匹配
- 添加详细的 XML 文档注释
- 修改项目目标框架为多版本支持 (net8.0;net9.0;net10.0)
2025-12-28 11:25:24 +08:00
GwWuYou
e4a317b743 style(generator): 格式化源代码生成器相关文件
- 修复 ILogger.cs 中多余的逗号
- 统一 ContextAwareDiagnostic.cs 中的注释缩进格式
- 统一 ContextAwareGenerator.cs 中的注释缩进格式
- 统一 ContextAwareAttribute.cs 中的注释缩进格式
- 统一 CommonDiagnostics.cs 中的注释缩进格式
- 简化 AttributeClassGeneratorBase.cs 中的 isEnabledByDefault 参数
- 统一 GeneratorTest.cs 中的注释缩进格式
- 优化 ContextAwareGeneratorTests.cs 中的代码结构
- 调整 AnalyzerReleases.Unshipped.md 中的表格格式
2025-12-28 10:50:41 +08:00
GwWuYou
6dd79b8e9a chore(build): 更新项目目标框架和构建配置
- 将多个项目的TargetFramework从netstandard2.0更新为net8.0;net9.0;net10.0
- 优化Directory.Build.props中的注释和配置说明
- 添加缺失的using System;引用
- 调整资源加载系统命名空间从GFramework.Godot.system到GFramework.Godot.assets
- 修正ILogger.cs中的异常消息格式
- 移除BindableProperty.cs中多余的可空断言操作符
2025-12-28 10:45:07 +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
929ea6b2d6 refactor(godot): 重构源代码生成器依赖结构
- 将CommonDiagnostics移至GFramework.SourceGenerators.Common模块
- 添加PathContests常量类统一管理路径常量
- 更新GodotLoggerGenerator使用新的路径常量和诊断引用
- 修改项目引用以包含GFramework.SourceGenerators.Common依赖
- 更新NuGet包配置以包含Common模块的DLL和XML文档
- 在解决方案文件中添加GFramework.SourceGenerators.Common项目引用
- 为Common模块创建Analyzer发布跟踪文件
2025-12-28 08:54:52 +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
3074f8420d build(generator): 更新项目配置以包含Abstractions包
- 将Attributes.dll和Attributes.xml替换为Abstractions.dll和Abstractions.xml
- 修改GFramework.Godot.SourceGenerators项目配置
- 修改GFramework.SourceGenerators项目配置
- 保持包路径和可见性设置不变
2025-12-27 22:24:56 +08:00
GwWuYou
74b807b063 build(generator): 修正源代码生成器DLL包路径配置
- 修正 GFramework.Godot.SourceGenerators 项目的DLL包路径
- 修正 GFramework.SourceGenerators 项目的DLL包路径
- 移除多余的命名空间前缀 GeWuYou
- 确保生成器DLL正确包含到analyzers目录
2025-12-27 22:21:43 +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
5f55a1b8db refactor(generator): 将Attributes项目重命名为Abstractions并更新引用
- 将GFramework.SourceGenerators.Attributes重命名为GFramework.SourceGenerators.Abstractions
- 将GFramework.Godot.SourceGenerators.Attributes重命名为GFramework.Godot.SourceGenerators.Abstractions
- 更新所有源生成器中对Attribute命名空间的引用
- 修改项目引用从Attributes指向Abstractions
- 添加程序集打包配置到生成项目
- 更新解决方案文件中的项目引用路径
- 修正测试文件中的命名空间引用
2025-12-27 21:29:13 +08:00
GwWuYou
fc88d908be refactor(build): 优化源代码生成器项目配置
- 移除 GeneratePackageOnBuild 和 IsRoslynComponent 配置项
- 统一设置 IncludeBuildOutput 为 false 以避免运行时库输出
- 更新 Microsoft.CodeAnalysis.Analyzers 版本至 4.14.0
- 为所有项目引用添加 PrivateAssets="all" 属性
- 简化打包配置,只将生成器 DLL 打包到 analyzers 目录
- 添加中文注释说明各配置项的作用和用途
2025-12-27 21:11:42 +08:00
GeWuYou
5f211d8680 fix(generator): 修复ContextAware生成器代码格式和测试配置
- 移除ContextAwareGenerator中多余的空行
- 为生成的类添加IContextAware接口实现
- 在测试中添加IContextAware接口定义
- 修复Rider测试会话配置中的IsActive属性
- 更新测试ID以匹配正确的测试类路径
2025-12-27 13:31:27 +08:00
GeWuYou
40a9b523f5 feat(rule): 添加上下文感知诊断规则
- 新增 GF_Rule_001 诊断规则,要求类必须实现 IContextAware 接口
- 创建 ContextAwareDiagnostic 类定义诊断规则元数据
- 修改 ContextAwareGenerator 实现 IContextAware 接口检查
- 优化生成器代码结构,添加候选类查找和输出生成功能
- 更新 AnalyzerReleases.Unshipped.md 文档
- 调整测试代码以适配新的诊断规则
- 修复日志诊断规则的命名空间大小写错误
2025-12-27 13:04:01 +08:00
GwWuYou
eebd7de409 fix(generator): 修复ContextAware生成器的代码生成问题
- 修复生成代码末尾多余的换行符问题
- 添加GFramework.Core.rule命名空间引用
- 在测试中添加框架存根代码以提供必要的接口依赖
- 更新解决方案设置以包含新的分析器测试文件
2025-12-26 23:10:15 +08:00
GwWuYou
eaa706a7e4 refactor(source-generator): 重构ContextAware生成器的代码格式
- 将多行字符串插值改为逐行添加以改善代码可读性
- 更新测试用例中的源代码和期望输出格式
- 修改项目文件中的目标框架为net8.0
- 添加必要的包引用Microsoft.CodeAnalysis.CSharp和Microsoft.CodeAnalysis.Common
- 移除解决方案用户设置中的过期配置项
2025-12-26 22:51:57 +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
378690a42c fix(logging): 修复源代码生成器中的日志属性引用错误
- 修正 GodotLoggerGenerator 中的属性元数据名称为正确的命名空间路径
- 更新 LoggerGenerator 中的属性引用从 GodotLogAttribute 改为 LogAttribute
- 修复 ConsoleLoggerFactory 的实例化方式,添加缺失的构造函数调用
- 统一日志属性名称格式,移除多余的 Godot 前缀
2025-12-25 22:09:52 +08:00
GwWuYou
2f3bc2d526 feat(godot-source-generators): 重构Godot源代码生成器项目配置
- 将TargetFramework从net10.0更改为netstandard2.0以提高兼容性
- 添加必要的using语句(System和System.Linq)到GodotLoggerGenerator
- 配置项目属性以支持Roslyn分析器功能,包括GeneratePackageOnBuild、
  IsRoslynAnalyzer等设置
- 添加EnforceExtendedAnalyzerRules以启用扩展规则验证
- 配置项目引用GFramework.Godot.SourceGenerators.Attributes并设置
  PrivateAssets="all"避免运行时依赖
- 设置打包配置将生成器DLL打包为analyzers/dotnet/cs路径
- 修正GodotLogAttribute命名空间为GFramework.Godot.SourceGenerators.Attributes.logging
- 更新PackageId为GeWuYou.GFramework.SourceGenerators.Attributes
- 移除不必要的PackageReadmeFile配置
2025-12-25 21:22:20 +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