private void OnSubNodeFinish(BaseStoryNode node) { for (int i = 0; i < unFinishedTags.Count; i++) { if (string.Equals(unFinishedTags[i], node.tag)) { unFinishedTags.RemoveAt(i); break; } } if (unFinishedTags.Count == 0) { Finish(); } }
public CharacterDialogNode(BaseStoryNode parent) : base(parent) { }
public override void AddNext(BaseStoryNode nextNode) { nextNodes.Add(nextNode); }
public EmptyNode(BaseStoryNode parent) : base(parent) { }
public void AddSub(BaseStoryNode subNode) { subNodes.Add(subNode); unFinishedTags.Add(subNode.tag); subNode.onFinishHandler += OnSubNodeFinish; }
public SpawnStoryNode(BaseStoryNode parent) : base(parent) { }
public CoroutineStoryNode(BaseStoryNode parent) : base(parent) { }
public virtual void AddNext(BaseStoryNode nextNode) { nextNodes.Add(nextNode); onFinishHandler += (n) => { nextNode.Start(); }; }
public BaseStoryNode(BaseStoryNode parent) { parent.AddNext(this); }