1048 Commits

Author SHA1 Message Date
gewuyou
6f17e2c437
Merge pull request #175 from GeWuYou/feat/ai-first-config-system
Feat/ai first config system
2026-04-06 07:59:48 +08:00
GeWuYou
7da35c00b2 feat(config): 添加基于文件目录的YAML配置加载器
- 实现YamlConfigLoader类,支持从文件目录加载YAML配置
- 提供RegisterTable方法注册配置表定义,支持schema校验
- 添加LoadAsync异步加载功能,支持批量加载配置表
- 实现EnableHotReload方法,支持开发期配置热重载
- 添加跨表引用校验功能,确保配置依赖关系正确性
- 支持YAML文件和YML文件格式,自动识别文件扩展名
- 提供配置表主键提取器和比较器自定义功能
- 实现文件变更监听和防抖机制,避免频繁重载
- 支持配置目录和schema文件路径的灵活配置
- 提供详细的加载异常信息和诊断支持
2026-04-06 07:53:46 +08:00
GeWuYou
a416e093ee feat(config): 添加基于YAML的配置加载器实现
- 实现YamlConfigLoader类,支持从文件目录加载YAML配置
- 提供RegisterTable方法支持配置表定义注册
- 实现热重载功能,监听文件变更并自动重新加载
- 支持schema校验,拒绝未知字段和类型错误
- 实现跨表引用校验,确保配置一致性
- 添加YamlConfigTableRegistrationOptions选项类
- 支持防抖机制避免频繁重载
- 提供详细的错误诊断信息
2026-04-06 07:37:59 +08:00
gewuyou
e67cfd4808
Merge pull request #176 from GeWuYou/feat/coroutine-core-and-godot-integration
Feat/coroutine core and godot integration
2026-04-06 07:23:05 +08:00
GeWuYou
d21370787b test(godot): 添加Godot测试项目并配置CI流水线
- 在CI工作流中添加GFramework.Godot.Tests项目的测试执行
- 配置dotnet test命令运行Godot测试套件
- 添加TRX格式的日志输出和测试结果目录设置
- 更新Godot模块的全局引用配置
- 在Timing.cs中添加必要的命名空间引用
- 在GodotTimeSourceTests.cs中添加NUnit框架引用
2026-04-06 00:37:32 +08:00
GeWuYou
2053451185 feat(coroutine): 添加协程调度器和相关功能实现
- 实现了 CoroutineScheduler 类,支持协程的运行、暂停、恢复和终止管理
- 添加了协程槽位管理机制 CoroutineSlot,用于跟踪单个协程状态
- 实现了协程的优先级、标签和分组功能,支持批量操作
- 集成了等待指令系统,包括 WaitForSecondsRealtime、WaitForFixedUpdate 等
- 添加了协程统计功能和异常处理机制
- 实现了 Godot 平台的时间源适配器 GodotTimeSource
- 创建了协程调度器的高级功能测试用例
- 添加了 Timing 节点用于在 Godot 引擎中管理协程生命周期
2026-04-06 00:33:37 +08:00
gewuyou
c4f5d502b3
Merge pull request #182 from GeWuYou/chore/ci-github-checks-config
chore(ci): 配置 GitHub Checks 工具
2026-04-05 23:30:21 +08:00
GeWuYou
621bba9b09 chore(ci): 配置 GitHub Checks 工具
- 启用 GitHub Checks 功能
- 设置超时时间为 90000 毫秒
- 添加 reviews 配置项
- 配置 github-checks 工具选项
2026-04-05 23:26:37 +08:00
gewuyou
dcb9aa229a
Merge pull request #180 from GeWuYou/feat/data-unified-settings-repository
Feat/data unified settings repository
2026-04-05 23:12:29 +08:00
GeWuYou
d2533de3be test(serializer): 添加JSON序列化器单元测试并优化反序列化异常处理
- 添加了完整的JsonSerializer单元测试覆盖序列化和反序列化场景
- 优化了反序列化方法中的异常处理逻辑,改进错误信息
- 修改了DeserializeCore方法中未使用的参数命名
- 添加了对各种边界情况的测试验证,包括无效JSON和空值处理
2026-04-05 22:58:45 +08:00
GeWuYou
3d86cdb093 docs(setting): 添加设置系统文档并实现JSON序列化器
- 新增设置系统详细文档,包含核心概念、接口定义和基本用法
- 实现JSON序列化器支持对象序列化和反序列化功能
- 添加序列化器单元测试验证序列化功能正确性
- 提供自定义转换器支持和错误处理机制
2026-04-05 22:26:07 +08:00
GeWuYou
a5d18e4eca docs(game): 添加数据与存档系统及GFramework.Game模块文档
- 创建数据与存档系统文档,介绍IData、IDataRepository、ISaveRepository等核心接口
- 添加基本用法示例,包括数据类型定义、存档仓库使用和配置注册
- 提供高级用法指南,涵盖自动保存、数据版本迁移和批量数据操作
- 实现存档备份和恢复功能示例
- 整理数据与存档系统最佳实践和常见问题解答
- 创建GFramework.Game模块总览文档,介绍游戏特定功能抽象
- 添加架构模块系统说明,包含AbstractModule基础使用和复杂模块示例
- 实现资产管理章节,介绍AbstractAssetCatalogUtility和资产映射系统
- 提供存储系统详解,包括ScopedStorage分层存储和自定义存储实现
- 添加序列化系统文档,涵盖JsonSerializer使用和自定义转换器
- 整理完整的游戏数据管理系统使用示例
2026-04-05 21:40:54 +08:00
GeWuYou
21b4c826d4 feat(data): 添加统一设置数据仓库和JSON序列化器实现
- 实现UnifiedSettingsDataRepository统一管理所有设置数据
- 添加JsonSerializer基于Newtonsoft.Json的序列化功能
- 创建SettingsModel管理设置数据生命周期和迁移
- 添加完整的单元测试验证持久化功能
- 实现数据类型注册和批量保存加载功能
- 支持设置数据的版本迁移和事件通知机制
2026-04-05 21:40:28 +08:00
gewuyou
46ea6f1ffd
Merge pull request #179 from GeWuYou/feat/ci-publish-workflow-nuget-github
feat(workflow): 添加许可证合规检查工作流并优化发布流程
v0.0.214
2026-04-05 20:54:45 +08:00
GeWuYou
cd210da167 feat(workflow): 添加许可证合规检查工作流并优化发布流程
- 新增 license-compliance.yml 工作流,集成 Feluda 许可证扫描器
- 实现许可证合规性检查、SBOM 生成和验证功能
- 移除 publish.yml 中的许可证合规相关步骤
- 更新发布流程以分离许可证合规和包发布职责
- 添加并发控制配置避免重复执行
- 简化 GitHub Release 创建流程,移除合规文件附件逻辑
2026-04-05 20:42:00 +08:00
gewuyou
152da3fe3f
Merge pull request #177 from GeWuYou/feat/ci-publish-workflow-nuget-github
feat(ci): 添加发布工作流支持NuGet和GitHub Packages
2026-04-05 20:28:46 +08:00
GeWuYou
1e092c07d3 chore(ci): 更新发布工作流配置
- 添加 .NET 10.0 环境设置步骤
- 将密码参数从 secrets.GITHUB_TOKEN 替换为 github.token
- 将环境变量中的 secrets.GITHUB_TOKEN 替换为 github.token
2026-04-05 20:23:16 +08:00
gewuyou
658a36fdd0
Merge pull request #178 from GeWuYou/feat/godot-localization-settings
Feat/godot localization settings
2026-04-05 20:21:10 +08:00
GeWuYou
e84af1512d feat(setting): 添加本地化设置测试并优化依赖注入
- 在 GodotLocalizationSettingsTests 中添加核心本地化接口引用
- 为 GodotLocalizationSettings 添加架构依赖项
- 配置 Godot 全局命名空间以便更简单的 API 访问
- 更新测试文件中的设置数据抽象层依赖项
- 简化 Godot 项目中的全局 using 指令结构
2026-04-05 20:08:28 +08:00
GeWuYou
d588372cff docs(godot): 添加 Godot 设置模块文档
- 新增 Godot 设置模块概述和核心类说明
- 添加音频设置系统详细文档包括 AudioBusMap 和 GodotAudioSettings
- 添加图形设置系统文档包括 GodotGraphicsSettings 实现
- 添加本地化设置系统文档包括 LocalizationMap 和 GodotLocalizationSettings
- 提供完整的架构设计图和使用示例代码
- 添加 API 详细说明和技术实现细节
- 包含最佳实践、性能考虑和故障排除指南
2026-04-05 19:54:09 +08:00
GeWuYou
41dd759379 feat(godot): 添加Godot本地化设置功能
- 新增LocalizationMap类实现用户语言到Godot locale和框架语言码的映射
- 创建GodotLocalizationSettings类同步应用本地化设置到Godot引擎和GFramework框架
- 添加测试项目配置文件GFramework.Game.Tests.csproj
- 实现本地化设置的单元测试验证语言同步功能
2026-04-05 19:54:02 +08:00
GeWuYou
46d8a7d4e2 chore(workflow): 移除发布状态检查
- 移除了 NuGet.org 和 GitHub Packages 发布状态检查
- 简化了发布工作流的输出信息
- 更新了合规性检查部分的格式
2026-04-05 18:51:47 +08:00
GeWuYou
1f34928785 feat(ci): 添加发布工作流支持NuGet和GitHub Packages
- 实现自动构建和打包功能,支持标签触发
- 集成NuGet.org和GitHub Packages双重发布机制
- 添加许可证合规性检查和SBOM文件生成
- 实现GitHub Release自动创建和资产上传
- 配置OIDC身份验证和临时API密钥管理
- 添加包重复上传检测和跳过功能
2026-04-05 18:49:08 +08:00
GeWuYou
6cac882fb4 refactor(coroutine): 简化协程调度器中的执行阶段访问
- 移除私有字段 _executionStage,直接使用构造函数参数 executionStage
- 更新 ExecutionStage 属性实现,直接返回构造函数参数
- 修改协程元数据设置时使用参数而非私有字段
- 调整等待指令判断逻辑,直接比较参数值
2026-04-05 15:21:51 +08:00
GeWuYou
ccffb121b3 fix(coroutine): 修复协程完成状态处理中的异常情况
- 为 CoroutineCompletionStatus 枚举添加默认分支处理
- 抛出 ArgumentOutOfRangeException 以处理不支持的协程完成状态
- 防止因未知状态值导致的运行时错误
- 提高协程调度器的健壮性和错误处理能力
2026-04-05 15:18:29 +08:00
GeWuYou
03346fbfe7 docs(coroutine): 更新协程系统文档
- 重构 Core 协程系统文档,优化概述和核心概念说明
- 新增 Godot 协程系统集成文档
- 添加协程系统使用教程
- 更新等待指令说明,包括时间、条件、Task 和事件等待
- 补充协程控制、快照查询和生命周期管理相关内容
- 修正代码示例和 API 使用说明
2026-04-05 15:06:53 +08:00
GeWuYou
1c41c57d72 feat(coroutine): 添加协程系统核心组件与Godot集成
- 实现CoroutineMetadata类存储协程元数据信息
- 创建CoroutineScheduler协程调度器管理协程生命周期
- 添加CoroutineSlot类管理单个协程执行状态
- 实现GodotTimeSource时间源支持缩放和真实时间
- 添加Timing类提供Godot协程管理功能
- 实现CoroutineNodeExtensions扩展方法支持节点生命周期管理
- 支持协程分组、标签、优先级等功能
- 提供协程暂停、恢复、终止等控制接口
- 实现协程统计和快照功能
- 添加等待指令处理机制支持多种等待类型
2026-04-05 15:06:35 +08:00
GeWuYou
34a333a0c1 fix(generator): 解决重复引用路径生成成员名称不稳定问题
- 使用 TryGetValue 方法替代 ContainsKey 检查避免多次访问字典
- 重用跟踪的重复计数确保重复引用路径保持生成的成员名称稳定
- 修复重复计数递增逻辑确保正确的序号生成
- 简化重复计数器的使用方式提高代码可读性
- 移除文件末尾多余空行保持代码整洁
2026-04-05 13:44:31 +08:00
GeWuYou
8c9fbb39b2 feat(config): 添加YAML配置加载器依赖注入支持
- 引入GFramework.Core.Abstractions.Events命名空间
- 添加YamlDotNet反序列化库相关引用
- 注册配置抽象层依赖到YAML配置加载器
- 更新测试文件中的命名空间引用以匹配新架构
2026-04-05 13:34:50 +08:00
gewuyou
a22e522cf9
Merge pull request #173 from GeWuYou/refactor/analyzer-method-resolution
refactor(analyzer): 优化上下文注册分析器中的方法解析逻辑
2026-04-05 10:03:20 +08:00
GeWuYou
37049be600 refactor(analyzer): 重构上下文注册分析器中的辅助方法解析逻辑
- 修改 TryResolveArchitectureHelperMethod 和 TryResolveModuleHelperMethod 方法参数
- 添加新的 TryResolveHelperMethod 通用方法处理辅助方法调用解析
- 实现对显式 base 调用的特殊处理以保留基类语义
- 添加 IsExplicitBaseInvocation 方法检测显式基础调用
- 更新测试文件验证分析器核心行为
2026-04-05 09:14:15 +08:00
GeWuYou
d2ecd14ca8 refactor(analyzer): 优化上下文注册分析器中的方法解析逻辑
- 移除对已具备源码方法的特殊处理逻辑
- 统一使用 ResolveHierarchyMethodImplementation 进行方法解析
- 优先解析到当前具体架构类型上的 override 方法
- 为模块安装路径添加一致的 override 解析逻辑
- 添加完整的单元测试验证分析器行为
2026-04-05 00:25:14 +08:00
gewuyou
9239e51644
Merge pull request #172 from GeWuYou/feat/gframework-analysis
Feat/gframework analysis
2026-04-04 23:47:12 +08:00
GeWuYou
7901a69028 docs(generator): 更新上下文获取生成器文档中的措辞
- 将“强推断”更正为“强行推断”以提高表述准确性
2026-04-04 23:42:05 +08:00
GeWuYou
8eaf837327 refactor(analyzer): 优化上下文注册分析器中的语法匹配逻辑
- 使用属性模式匹配替换条件判断语句
- 简化了方法声明语法的空值检查逻辑
- 优化了构造函数声明语法的表达式体检查
- 提高了代码可读性和维护性
- 减少了冗余的语法树遍历操作
2026-04-03 23:50:09 +08:00
GeWuYou
c5a33ed571 docs(source-generators): 添加源代码生成器文档和测试项目配置
- 新增 Context Get 注入生成器详细文档,包含使用示例和诊断信息
- 添加源代码生成器总览文档,涵盖 Log、Config Schema、ContextAware 等功能
- 配置测试项目 GFramework.SourceGenerators.Tests 的项目文件和依赖
- 生成器诊断规则新增至 Unshipped 分析器发布跟踪文件
2026-04-03 23:48:24 +08:00
GeWuYou
7fda40de42 feat(game): 添加游戏内容配置系统实现
- 实现基于 YAML 的配置加载器支持
- 添加 JSON Schema 结构验证功能
- 实现一对象一文件的目录组织方式
- 提供运行时只读查询接口
- 添加 Source Generator 生成配置类型和表包装
- 实现 VS Code 插件配置浏览和编辑功能
- 添加开发期热重载支持
- 实现跨表引用校验机制
- 提供完整的配置系统文档说明
2026-04-03 22:58:05 +08:00
GeWuYou
ecf2309e11 docs(game): 添加游戏内容配置系统文档
- 介绍面向静态游戏内容的 AI-First 配表方案
- 说明配置系统管理怪物、物品、技能、任务等静态内容数据
- 描述 YAML 作为配置源文件和 JSON Schema 作为结构描述的支持
- 展示推荐的目录结构和 Schema 示例
- 提供完整的接入模板包括 csproj 配置、启动引导和运行时读取
- 详述运行时校验行为和跨表引用机制
- 说明开发期热重载功能和 VS Code 工具集成
- 列出当前限制和独立 Config Studio 评估结论
2026-04-03 22:01:10 +08:00
GeWuYou
ec4e2edeab feat(config): 添加AI-First游戏内容配置系统
- 实现YAML配置文件与JSON Schema结构描述支持
- 提供一对象一文件的目录组织方式
- 集成Source Generator生成配置类型和表包装代码
- 添加VS Code插件支持配置浏览和表单编辑功能
- 实现运行时只读查询和开发期热重载机制
- 支持跨表引用校验和轻量元数据复用
- 添加配置加载异常诊断和批量编辑入口
2026-04-03 21:17:39 +08:00
GeWuYou
61cc7eaa6d feat(config): 添加AI-First配置系统及文档
- 引入YAML配置源文件支持
- 实现JSON Schema结构描述功能
- 提供一对象一文件的目录组织方式
- 添加运行时只读查询能力
- 实现Source Generator生成配置类型和表包装
- 集成VS Code插件提供配置浏览和编辑功能
- 添加开发期热重载支持
- 提供跨表引用校验机制
- 创建配置生成器约定和绑定辅助类
- 添加详细的中文文档说明
- 实现集成测试验证生成器功能
2026-04-03 19:10:23 +08:00
gewuyou
ec5153f452
Merge pull request #170 from GeWuYou/test/game-integration-tests
Test/game integration tests
2026-04-03 17:47:37 +08:00
GeWuYou
b4e026a70d feat(config): 添加YAML配置文件的JSON Schema校验功能
- 实现了YAML配置文件与JSON Schema的运行时校验能力
- 支持嵌套对象、对象数组、标量数组的递归校验
- 提供跨表引用的约束检查与引用采集功能
- 支持enum枚举值与数值范围约束验证
- 实现详细的错误诊断信息与字段路径定位
- 包含完整的异常处理与错误报告机制
2026-04-03 17:08:24 +08:00
GeWuYou
0e538738df feat(game): 添加游戏内容配置系统和YAML配置校验器
- 实现面向静态游戏内容的AI-First配置方案,支持怪物、物品、技能、任务等数据管理
- 集成YAML作为配置源文件格式,JSON Schema作为结构描述标准
- 提供一对象一文件的目录组织结构和运行时只读查询功能
- 实现Source Generator生成配置类型、表包装和注册/访问辅助代码
- 添加VS Code插件支持配置浏览、raw编辑、schema打开和递归校验功能
- 创建YamlConfigSchemaValidator类提供YAML与JSON Schema的运行时校验能力
- 支持嵌套对象、对象数组、标量数组的递归校验和深层约束检查
- 实现跨表引用验证和配置热重载功能
- 提供详细的错误诊断信息和开发期工具链支持
2026-04-03 16:32:14 +08:00
GeWuYou
f63714f1e1 test(game): 添加游戏模块集成测试项目
- 创建了 GFramework.Game.Tests 测试项目配置文件
- 添加了 Microsoft.NET.Test.Sdk、Moq、NUnit 等测试依赖包
- 配置了项目引用包括 GFramework.Game、GFramework.Core 和源代码生成器
- 实现了自动生成配置消费者集成测试验证功能
- 添加了怪物配置模式定义用于端到端测试验证
- 创建了源代码生成器目标文件实现自动化配置收集
- 验证了消费者项目自动拾取 schema 并生成绑定的功能
2026-04-03 15:50:45 +08:00
gewuyou
14ed42cabe
Merge pull request #169 from GeWuYou/feat/game-content-config
feat(game): 添加游戏内容配置系统
2026-04-03 12:44:12 +08:00
GeWuYou
b1e9d0a345 feat(config): 添加基于YAML的配置加载器和架构验证器
- 实现YamlConfigLoader类,支持从文件目录加载YAML配置
- 添加热重载功能,监听配置文件变更并自动重新加载
- 实现YAML配置架构验证器,支持JSON Schema校验
- 添加跨表引用验证机制,确保配置依赖关系正确
- 支持配置表注册和类型安全的配置项访问
- 实现防抖机制避免频繁的文件变更触发
- 提供详细的错误诊断信息和异常处理
2026-04-03 12:31:58 +08:00
GeWuYou
081a65f740 feat(config): 添加YAML配置加载器依赖注入支持
- 引入GFramework.Core.Abstractions.Events命名空间
- 添加YamlDotNet反序列化库依赖
- 注册YAML配置加载器到依赖注入容器
- 更新单元测试中的命名空间引用
- 实现YAML配置文件的解析功能
- 添加配置加载过程中的事件发布机制
2026-04-03 12:21:03 +08:00
GeWuYou
12ce31f82a feat(game): 添加游戏内容配置系统
- 实现基于 YAML 的配置文件加载功能
- 集成 JSON Schema 结构验证和类型检查
- 提供一对象一文件的目录组织方式
- 支持运行时只读查询和类型安全访问
- 实现 Source Generator 生成配置类型和表包装
- 添加 VS Code 插件提供配置浏览和编辑功能
- 支持跨表引用校验和依赖关系管理
- 实现开发期热重载功能,支持配置变更自动刷新
- 提供完整的配置加载、验证、注册和访问接口
2026-04-03 12:00:32 +08:00
gewuyou
a92e514ffe
Merge pull request #168 from GeWuYou/feat/ai-first-config-system
feat(config): 添加AI-First配置系统及源生成器
2026-04-03 10:14:34 +08:00
GeWuYou
76479eb9f8 refactor(GFramework.SourceGenerators): 添加全局命名空间引用以支持代码生成
- 引入 System.Globalization 用于区域设置相关操作
- 添加 System.IO 支持文件输入输出功能
- 集成 System.Text 提供文本处理能力
- 包含 System.Text.Json 用于 JSON 序列化反序列化
2026-04-03 10:04:18 +08:00