feat(enemy): EnemyAiBrain 支持配方资产/AiScript id 二选一解析

This commit is contained in:
2026-07-29 14:56:54 +08:00
parent c76eba8a0e
commit 57cbaacf2c
2 changed files with 27 additions and 6 deletions
@@ -57,6 +57,16 @@ namespace BaseGames.AI
return script.GetOrBuildGraph();
}
/// <summary>取 id 对应的定义;不存在则显式抛错(根因暴露,不做兜底)。</summary>
public static IAiDefinition GetDefinition(string id)
{
EnsureBuilt();
if (!_byId.TryGetValue(id, out var script))
throw new InvalidOperationException(
$"AiDefinitionRegistry: 未找到 AI 定义 id '{id}'。请确认存在 [AiDefinition(\"{id}\")] 的 AiScript 子类。");
return script;
}
public static IEnumerable<string> Ids
{
get { EnsureBuilt(); return _byId.Keys; }