mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-14 06:34:30 +08:00
Compare commits
2 Commits
7fda40de42
...
34a333a0c1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34a333a0c1 | ||
|
|
8c9fbb39b2 |
@ -1,4 +1,5 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
|
using GFramework.Game.Abstractions.Config;
|
||||||
using GFramework.Game.Config;
|
using GFramework.Game.Config;
|
||||||
|
|
||||||
namespace GFramework.Game.Tests.Config;
|
namespace GFramework.Game.Tests.Config;
|
||||||
@ -9,8 +10,6 @@ namespace GFramework.Game.Tests.Config;
|
|||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class YamlConfigLoaderTests
|
public class YamlConfigLoaderTests
|
||||||
{
|
{
|
||||||
private string _rootPath = null!;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 为每个测试创建独立临时目录,避免文件系统状态互相污染。
|
/// 为每个测试创建独立临时目录,避免文件系统状态互相污染。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -33,6 +32,8 @@ public class YamlConfigLoaderTests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string _rootPath = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证加载器能够扫描 YAML 文件并将结果写入注册表。
|
/// 验证加载器能够扫描 YAML 文件并将结果写入注册表。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using GFramework.Core.Abstractions.Events;
|
||||||
using GFramework.Game.Abstractions.Config;
|
using GFramework.Game.Abstractions.Config;
|
||||||
|
using YamlDotNet.Serialization;
|
||||||
|
using YamlDotNet.Serialization.NamingConventions;
|
||||||
|
|
||||||
namespace GFramework.Game.Config;
|
namespace GFramework.Game.Config;
|
||||||
|
|
||||||
|
|||||||
@ -939,11 +939,13 @@ public sealed class SchemaConfigGenerator : IIncrementalGenerator
|
|||||||
foreach (var referenceSeed in EnumerateReferenceSeeds(rootObject.Properties))
|
foreach (var referenceSeed in EnumerateReferenceSeeds(rootObject.Properties))
|
||||||
{
|
{
|
||||||
var baseMemberName = BuildReferenceMemberName(referenceSeed.DisplayPath);
|
var baseMemberName = BuildReferenceMemberName(referenceSeed.DisplayPath);
|
||||||
if (memberNameCounts.ContainsKey(baseMemberName))
|
if (memberNameCounts.TryGetValue(baseMemberName, out var duplicateCount))
|
||||||
{
|
{
|
||||||
memberNameCounts[baseMemberName]++;
|
// Reuse the tracked duplicate count so repeated reference paths keep their generated member names stable.
|
||||||
|
duplicateCount++;
|
||||||
|
memberNameCounts[baseMemberName] = duplicateCount;
|
||||||
baseMemberName =
|
baseMemberName =
|
||||||
$"{baseMemberName}{memberNameCounts[baseMemberName].ToString(CultureInfo.InvariantCulture)}";
|
$"{baseMemberName}{duplicateCount.ToString(CultureInfo.InvariantCulture)}";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user