void ShowOptions(DialogueComponent com) { this.ShowMessage(com.Dialogue); //Resetting options panel this.options.ForEach(x => x.gameObject.SetActive(false)); if (com is DialogueComposite) { DialogueComposite composite = (DialogueComposite)com; for (int i = 0; i < composite.NumberOfOptions; i++) { var temp = i; this.options[i].gameObject.SetActive(true); this.options[i].transform.GetChild(0).GetComponent <Text>().text = composite.Get(temp).Option; this.options[i].GetComponent <Button>().onClick.AddListener(() => { this.Display(composite, temp); }); } } else { Debug.Log("End LEAF NODE"); } }
void InitializeDialogues() { root = new DialogueComposite("", string.Format("Hi there, {0}", this.name)); //;Level 1 levelTwo = new DialogueComposite("Level 2", "Reply 2"); //;Level 2 levelThree = new DialogueComposite("Level 3", "Reply 3"); //;Level 3 levelFour = new DialogueComposite("Level 4", "Reply 4"); //;Level 4 levelFive = new DialogueComposite("Level 5", "Reply 5"); //;Level 2 root.AddOption(levelTwo); root.AddOption(new Dialogue("L1_PO_A", "L1_Reply A")); root.AddOption(new Dialogue("L1_PO_B", "L1_Reply B")); levelTwo.AddOption(levelThree); levelTwo.AddOption(new Dialogue("L2_PO_A", "L2_Reply A")); levelTwo.AddOption(new Dialogue("L2_PO_B", "L2_Reply B")); levelThree.AddOption(new Dialogue("L3_PO_A", "L3_Reply A")); levelThree.AddOption(levelFour); levelThree.AddOption(new Dialogue("L3_PO_B", "L3_Reply B")); levelFour.AddOption(new Dialogue("L4_PO_A", "L4_Reply A")); levelFour.AddOption(levelFive); levelFour.AddOption(new Dialogue("L4_PO_B", "L4_Reply B")); levelFour.AddOption(new Dialogue("L4_PO_C", "L4_Reply C")); levelFive.AddOption(new Dialogue("L5_PO_A", "L5_Reply A")); levelFive.AddOption(new Dialogue("L5_PO_B", "L5_Reply B")); levelFive.AddOption(new Dialogue("L5_PO_C", "L5_Reply C")); levelFive.AddOption(new Dialogue("L5_PO_D", "L5_Reply D")); levelFive.AddOption(new Dialogue("L5_PO_E", "L5_Reply E")); ShowOptions(root); }