public void disconnectNodeFromOptions(BaseStoryNode node) { foreach(Option option in this.Options) { if(option.NextNode == node) { option.NextNode = null; } } }
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); } }
public void deleteNode(BaseStoryNode node) { if(node._Ref <= 0) { this.Nodes.Remove(node); } }
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); }