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(); } }
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(); } }