Files
zeling_v2/Assets/Tests/EditMode/AI/AiScriptTests.cs
T

31 lines
872 B
C#

using NUnit.Framework;
using BaseGames.AI;
namespace BaseGames.Tests.EditMode.AI
{
public class AiScriptTests
{
sealed class SampleAi : AiScript
{
public int BuildCount;
protected override void Build(BrainBuilder b)
{
BuildCount++;
b.Entry("A");
b.State("A").To("B").When(c => c.Sensor.SeesPlayer(), "SeesPlayer");
b.State("B");
}
}
[Test]
public void GetOrBuildGraph_ReturnsSameSharedInstance()
{
var script = new SampleAi();
var g1 = script.GetOrBuildGraph();
var g2 = script.GetOrBuildGraph();
Assert.AreSame(g1, g2); // flyweight:同一引用
Assert.AreEqual(1, script.BuildCount); // 只构建一次
}
}
}