示例#1
0
 public void DelTransition(eFSMTransition trans)
 {
     if (m_Map.ContainsKey(trans))
     {
         m_Map.Remove(trans);
     }
 }
示例#2
0
 public FSMState TransitionTo(eFSMTransition trans)
 {
     if (m_Map.ContainsKey(trans) == false)
     {
         return(null);
     }
     return(m_Map[trans]);
 }
示例#3
0
    public void AddTransition(eFSMTransition trans, FSMState toState)
    {
        if (m_Map.ContainsKey(trans))
        {
            return;
        }

        m_Map.Add(trans, toState);
    }
示例#4
0
 public void PerformGlobalTransition(eFSMTransition t)
 {
     if (m_GlobalMap.ContainsKey(t))
     {
         m_currentState.DoBeforeLeave(m_Data);
         m_currentState = m_GlobalMap[t];
         m_currentState.DoBeforeEnter(m_Data);
         m_currentStateID = m_currentState.m_StateID;
     }
 }
示例#5
0
    public void PerformTransition(eFSMTransition trans)
    {
        if (trans == eFSMTransition.NullTransition)
        {
            return;
        }

        FSMState state = m_currentState.TransitionTo(trans);

        if (state == null)
        {
            return;
        }

        // Update the currentStateID and currentState
        m_currentState.DoBeforeLeave(m_Data);

        m_currentState   = state;
        m_currentStateID = state.m_StateID;
        m_currentState.DoBeforeEnter(m_Data);
    }
示例#6
0
 public void AddGlobalTransition(eFSMTransition t, FSMState s)
 {
     m_GlobalMap.Add(t, s);
 }