/// <summary> /// Changes the current node to the one at the provided index. /// </summary> /// <param name="index">Zero-based index of the node.</param> public void TraverseTree(int index = 0) { if (index >= 0 && index < currentNode.NextNodes.Length) { previousNode = currentNode; currentNode = currentNode.NextNodes[index]; previousNode.Exit(); currentNode.Enter(); changedNode.RaiseEvent(); if (currentNode.NextNodes.Length == 0) { dialogueEnd.RaiseEvent(); } } }
/// <summary> /// Resets the current node of this tree to the starting node. /// </summary> public void Reset() { currentNode = startingNode; }