Compare commits

..

No commits in common. "34a333a0c10e3e42c557797cca5dc0fdab1b49ec" and "7fda40de42767d9df3b3d06535681ffffcf14cef" have entirely different histories.

3 changed files with 5 additions and 11 deletions

View File

@ -1,5 +1,4 @@
using System.IO;
using GFramework.Game.Abstractions.Config;
using GFramework.Game.Config;
namespace GFramework.Game.Tests.Config;
@ -10,6 +9,8 @@ namespace GFramework.Game.Tests.Config;
[TestFixture]
public class YamlConfigLoaderTests
{
private string _rootPath = null!;
/// <summary>
/// 为每个测试创建独立临时目录,避免文件系统状态互相污染。
/// </summary>
@ -32,8 +33,6 @@ public class YamlConfigLoaderTests
}
}
private string _rootPath = null!;
/// <summary>
/// 验证加载器能够扫描 YAML 文件并将结果写入注册表。
/// </summary>

View File

@ -1,8 +1,5 @@
using System.Diagnostics;
using GFramework.Core.Abstractions.Events;
using GFramework.Game.Abstractions.Config;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
namespace GFramework.Game.Config;

View File

@ -939,13 +939,11 @@ public sealed class SchemaConfigGenerator : IIncrementalGenerator
foreach (var referenceSeed in EnumerateReferenceSeeds(rootObject.Properties))
{
var baseMemberName = BuildReferenceMemberName(referenceSeed.DisplayPath);
if (memberNameCounts.TryGetValue(baseMemberName, out var duplicateCount))
if (memberNameCounts.ContainsKey(baseMemberName))
{
// Reuse the tracked duplicate count so repeated reference paths keep their generated member names stable.
duplicateCount++;
memberNameCounts[baseMemberName] = duplicateCount;
memberNameCounts[baseMemberName]++;
baseMemberName =
$"{baseMemberName}{duplicateCount.ToString(CultureInfo.InvariantCulture)}";
$"{baseMemberName}{memberNameCounts[baseMemberName].ToString(CultureInfo.InvariantCulture)}";
}
else
{