//-------------------------------------------------- // private //-------------------------------------------------- private void DisplayLinks() { if (linksDisplayed) { return; } linksDisplayed = true; if (linkUIs == null) { linkUIs = new List <DEUI_DialogueLink> (); } DEUI_DialogueLink _linkBtn = ( DEUI_DialogueLink )Resources.Load("link_button", typeof(DEUI_DialogueLink)); while (linkUIs.Count < curDialogue.links.Length) { DEUI_DialogueLink _new = ( DEUI_DialogueLink )Instantiate(_linkBtn); _new.transform.SetParent(linkUIParent); _new.transform.localScale = Vector3.one; linkUIs.Add(_new); } for (int a = 0; a < linkUIs.Count; ++a) { bool _canUse = (a < curDialogue.links.Length); linkUIs [a].gameObject.SetActive(_canUse); linkUIs [a].OnClickLink -= OnClickLink; if (_canUse) { linkUIs [a].UpdateContent(curDialogue.dialogueData.links [a].content); linkUIs [a].OnClickLink += OnClickLink; } } }
//-------------------------------------------------- // public //-------------------------------------------------- //-------------------------------------------------- // listener //-------------------------------------------------- private void OnClickLink(DEUI_DialogueLink _link) { curDialogue = curDialogue.Next(linkUIs.IndexOf(_link)); }