예제 #1
0
    public void Start()
    {
        m_Current = m_CommandList.First;

        if (m_Current != null)
        {
            m_Running = true;
            m_CommandInvoker.iInvoke(m_Current.Value, this);
        }
        else
        {
            m_Running = false;
            m_CommandListener.iFinished();
        }
    }
예제 #2
0
 public void iSucceeded()
 {
     if (m_CurrentCommand.Next != null)
     {
         m_CommandNotifier.iSucceeded(m_CurrentCommand.Value);
         m_CurrentCommand = m_CurrentCommand.Next;
         m_CommandInvoker.iInvoke(m_CurrentCommand.Value, this);
     }
     else
     {
         m_State = State.Succeeded;
         m_CommandNotifier.iSucceeded(null);
         m_CommandValidator?.iSucceeded();
     }
 }