public void AddOptionsWithNode(int OptionID, DialougeNode inNode) //把選項加入node中用的 { //如果指定ID存在於所有選項中,把值都進去node的選項。 // DialougeOption temp = allOptions[OptionID]; //if (allOptions.Contains(temp)) // inNode.Options.Add(allOptions[OptionID]); if (!AllOptions.Exists(delegate(DialougeOption temp) { return(temp.OID == OptionID); })) { inNode.Options.Add(AllOptions[OptionID]); } }
public void AddNode(int self, int next, string speaker, string text, List <DialougeOption> options = null) //這個是加節點的 所以不用在外部新增節點了 { //提供外部新增節點,分為兩種,第一為有選項,第二為無選項,有選項的使用選項來跳轉節點,無選項的自行附帶跳轉 if (!Nodes.Exists(delegate(DialougeNode tempNode) { return(tempNode.NodeID == self); })) { if (next >= 0) { DialougeNode temp = new DialougeNode(speaker, self, next, text); Nodes.Add(temp); } else { DialougeNode temp = new DialougeNode(speaker, self, text, options); Nodes.Add(temp); } } }