public void GotoNullState() { if (_current != null) _current.EndState(null); _current = null; }
public void AddState(string asId, AIBrainState aState) { string useId = asId.ToUpper(); aState.Initialize(this); if (_brainStateTable.ContainsKey(asId)) _brainStateTable[asId] = aState; else _brainStateTable.Add(asId, aState); }
public virtual void GotoState(string asId) { string useId = asId.ToUpper(); AIBrainState nextState; if (_brainStateTable.ContainsKey(useId)) { AIBrainState lastState = null; nextState = _brainStateTable[useId]; if (_current != null) { lastState = _current; _current.EndState(nextState); } _current = nextState; _current.BeginState(lastState); } }
public void EndState(AIBrainState aNextState) { CustomEndState(aNextState); ClearEvents(); }
public virtual void CustomEndState(AIBrainState aNextState) { }
public virtual void BeginState(AIBrainState aPreviousState) { }