feat(ai): BrainBuilder.RequireState——未声明状态挂边时构建期报错

This commit is contained in:
2026-07-29 11:08:23 +08:00
parent 8d63525b12
commit e76d6bc118
2 changed files with 27 additions and 0 deletions
+11
View File
@@ -28,6 +28,17 @@ namespace BaseGames.AI
public GlobalBuilder Global() => new GlobalBuilder(this);
/// <summary>
/// 要求状态已被声明(含行为回调)。模块给"别人声明的态"挂边前调用。
/// 未声明即抛——否则 State() 会静默新建一个空态,敌人杵着不动且无任何报错。
/// </summary>
public void RequireState(string name)
{
if (!_states.ContainsKey(name))
throw new InvalidOperationException(
$"BrainBuilder: 状态 '{name}' 尚未声明。请先声明它的行为(AiStateFragments.* 或 State(name)),再挂转换。");
}
internal void AddGlobal(Transition t) => _globals.Add(t);
public AiGraph Build()