using System;
using System.Collections.Generic;
namespace BaseGames.AI
{
/// 一个状态:进入/每帧/退出钩子 + 出边转换列表(按优先级有序,首个命中即转)。
public sealed class AiState
{
readonly List _transitions = new List();
public string Name { get; }
public Action OnEnter { get; internal set; }
public Action OnTick { get; internal set; } // (ctx, dt)
public Action OnExit { get; internal set; }
public IReadOnlyList Transitions => _transitions;
internal void AddTransition(Transition t) => _transitions.Add(t);
public AiState(string name) => Name = name;
}
}