Initial commit: AIGame Unity client with URP, HybridCLR, YooAsset and tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-09-21 14:21:07 +08:00
co-authored by Cursor
commit f3f66ab063
931 changed files with 112366 additions and 0 deletions
@@ -0,0 +1,59 @@
using NUnit.Framework;
using Unity.Pipeline.Config;
using Unity.Pipeline.Editor;
using UnityEngine;
namespace Unity.Pipeline.Tests.Editor
{
class RuntimePipelineSettingsProviderTests
{
[SetUp]
public void SetUp()
{
RuntimePipelineResourceTestGuard.AssertNoConfigAssetExists();
}
[TearDown]
public void TearDown()
{
RuntimePipelineResourceTestGuard.DeleteConfigIfExists();
}
[Test]
public void LoadOrCreateConfig_NoSettingsYet_ReturnsUnsavedDefaultsWithoutAuthoringFile()
{
var config = RuntimePipelineSettingsProvider.LoadOrCreateConfig();
try
{
Assert.IsNotNull(config);
Assert.IsFalse(config.enableInBuilds);
Assert.AreEqual(0, config.port);
Assert.AreEqual(30000, config.requestTimeoutMs);
Assert.IsTrue(config.enableAuditLogging);
Assert.IsTrue(config.autoStart);
Assert.AreEqual(10, config.maxWorkItemsPerFrame);
Assert.IsNull(RuntimePipelineConfig.Load(),
"LoadOrCreateConfig must not author the settings file merely from being read — a " +
"read-only view must never have the side effect of writing to disk");
}
finally
{
Object.DestroyImmediate(config);
}
}
[Test]
public void LoadOrCreateConfig_CalledAgainAfterEdit_ReturnsPersistedValue()
{
var first = RuntimePipelineSettingsProvider.LoadOrCreateConfig();
first.port = 7913;
first.Save();
var second = RuntimePipelineSettingsProvider.LoadOrCreateConfig();
Assert.AreEqual(7913, second.port, "A second call must load the persisted settings, not recreate defaults");
}
}
}