/// <summary> /// Reset members. /// </summary> public void Reset () { if (m_Tree != null) m_Nodes = m_Tree.GetNodes(); else m_Nodes = new List<ActionNode>(); m_CurrentNode = null; m_CurrentBranch = null; m_CurrentFunction = null; m_CurrentNodeIndex = -1; m_IsValid = true; }
/// <summary> /// Updates current node by incremeting m_CurrentNodeIndex). /// </summary> void GoToNextNode () { m_CurrentNodeIndex++; if (m_CurrentNodeIndex >= 0 && m_CurrentNodeIndex < m_Nodes.Count) { m_CurrentNode = m_Nodes[m_CurrentNodeIndex]; m_CurrentBranch = m_CurrentNode as BranchNode; m_CurrentFunction = m_CurrentBranch != null ? m_CurrentBranch as FunctionNode : null; } else { m_CurrentNode = null; m_CurrentBranch = null; m_CurrentFunction = null; m_CurrentNodeIndex = -1; m_IsValid = false; } }