fix(enemy): 配方校验改用一次性 builder 探测,不再干扰共享图缓存

This commit is contained in:
2026-07-30 08:33:53 +08:00
parent da217af113
commit afcc0b10ee
3 changed files with 25 additions and 9 deletions
+10
View File
@@ -29,6 +29,16 @@ namespace BaseGames.AI
/// 不调的话,改动要等到下次进入 Play 才生效——静默的陈旧图。</summary>
protected void InvalidateGraph() => _cached = null;
/// <summary>校验专用:用一次性 BrainBuilder 试建,只为暴露建图期异常。
/// 刻意不碰 _cached——走 GetOrBuildGraph 会在缓存已热时跳过 Build(等于没探测),
/// 且事后置空缓存会破坏"一个配方共享一张图"的 flyweight 不变量。</summary>
protected void ProbeBuild()
{
var b = new BrainBuilder();
Build(b);
b.Build();
}
public AiGraph GetOrBuildGraph()
{
if (_cached == null)