void ChangeState(StateIDs.States newStateID) { if (m_currentState != null) { m_currentState.OnExit(); } m_currentState = FindState(newStateID); Debug.Assert(m_currentState != null, "INVALID INITIAL STATAE"); m_currentState.OnEnter(); }
BaseState FindState(StateIDs.States stateID) { //Check for state ID compatibility foreach (BaseState state in m_states) { if (state.GetName() == stateID) { return(state); } } return(null); }
public BaseState FindState(StateIDs.States stateID) { foreach (BaseState state in m_states) { if (state.GetName() == stateID) { return(state); } } return(null); }
private void ChangeState(StateIDs.States toState) { foreach (BaseState s in m_state) { if (s.stateID == toState) { if (m_currentState != null) { m_currentState.OnExit(); } Debug.Log("Changing state to " + toState); m_currentState = s; m_currentState.OnEnter(); break; } } }
public void AddState(StateIDs.States state) { switch (state) { case StateIDs.States.Idle: m_state.Add(new IdleState(this.aiController)); break; case StateIDs.States.Follow: m_state.Add(new FollowState(aiController)); break; case StateIDs.States.Mechanic: m_state.Add(new MechanicState(aiController)); break; } }
public void RemoveState(StateIDs.States state) { }