예제 #1
0
        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);
        }
예제 #2
0
 public ConditionalDialogueNode[] GetChildren(ConditionalDialogueNode node)
 {
     return(node.GetChildren());
 }