public void disconnectNodeFromOptions(BaseStoryNode node)
 {
     foreach(Option option in this.Options)
     {
         if(option.NextNode == node)
         {
             option.NextNode = null;
         }
     }
 }
Beispiel #2
0
        public void disconnectNodes(BaseStoryNode prevNode, BaseStoryNode nextNode)
        {
            if (prevNode == null || nextNode == null)
            {
                return;
            }
            if ((prevNode.NextNodes.IndexOf(nextNode) < 0))
            {
                return;
            }

            if (prevNode is NarrativeNode)
            {
                NarrativeNode narrativeNode = prevNode as NarrativeNode;
                narrativeNode.NextNode.PrevNodes.Remove(narrativeNode);
                narrativeNode.NextNode = null;
            }
            if(prevNode is WaitNode)
            {
                WaitNode waitNode = prevNode as WaitNode;
                waitNode.NextNode.PrevNodes.Remove(waitNode);
                waitNode.NextNode = null;
            }
            if (prevNode is SelectiveNode)
            {
                SelectiveNode selectiveNode = prevNode as SelectiveNode;
                selectiveNode.disconnectNodeFromOptions(nextNode);
            }
        }
Beispiel #3
0
 public void deleteNode(BaseStoryNode node)
 {
     if(node._Ref <= 0)
     {
         this.Nodes.Remove(node);
     }
 }
Beispiel #4
0
        public void connectNodes(BaseStoryNode prevNode, BaseStoryNode nextNode)
        {
            if(prevNode == null || nextNode == null)
            {
                return;
            }
            if (prevNode is SelectiveNode)
            {
                return;
            }
            if(!(prevNode.NextNodes.IndexOf(nextNode) < 0))
            {
                return;
            }

            if (prevNode is NarrativeNode)
            {
                NarrativeNode narrativeNode = prevNode as NarrativeNode;
                this.disconnectNodes(narrativeNode, narrativeNode.NextNode);

                nextNode.PrevNodes.Add(narrativeNode);
                narrativeNode.NextNode = nextNode;
            }
            if (prevNode is WaitNode)
            {
                WaitNode waitNode = prevNode as WaitNode;
                this.disconnectNodes(waitNode, waitNode.NextNode);

                nextNode.PrevNodes.Add(waitNode);
                waitNode.NextNode = nextNode;
            }
        }
 public void selectNextNode(BaseStoryNode node)
 {
     this.CurrentStory.connectNodes(this.CurrentNode, node);
 }
 public void selectNextNode(BaseStoryNode node)
 {
     this.SelectedOption.NextNode = node;
     node.PrevNodes.Add(this.Node);
 }