public ConditionalDialogueNode GetNextNode() { if (indexing >= Count || indexing == 1) { ReachedEnd = true; return(null); } ConditionalDialogueNode currentNode = Nodes[indexing]; ConditionalDialogueNode[] childrens = currentNode.GetChildren(); for (int i = 0; i < childrens.Length && !ReachedEnd; i++) { if (childrens[i].ConditionMet) { int nextIndex = SearchNodeIndex(childrens[i].NodeID); indexing = nextIndex; } } if (currentNode.Value == ConditionalDialogueNode.StartValue) { return(GetNextNode()); } return(currentNode); }
public ConditionalDialogueNode[] GetChildren(ConditionalDialogueNode node) { return(node.GetChildren()); }