private void OptionsParser(DialogueBase db) { if (db is DialogueOptions) { isDialogueOption = true; DialogueOptions dialogueOptions = db as DialogueOptions; optionsAmount = dialogueOptions.optionsInfo.Length; questionText.text = dialogueOptions.questionText; for (int i = 0; i < optionButtons.Length; i++) { optionButtons[i].SetActive(false); } for (int i = 0; i < optionsAmount; i++) { optionButtons[i].SetActive(true); optionButtons[i].transform.GetChild(0).GetComponent <Text>().text = dialogueOptions.optionsInfo[i].buttonName; UnityEventHandler myEventHandler = optionButtons[i].GetComponent <UnityEventHandler>(); myEventHandler.eventHandler = dialogueOptions.optionsInfo[i].myEvent; if (dialogueOptions.optionsInfo[i].nextDialogue != null) { myEventHandler.myDialogue = dialogueOptions.optionsInfo[i].nextDialogue; } else { myEventHandler.myDialogue = null; } } } else { isDialogueOption = false; } }
public override void OnEnter () { base.OnEnter (); handler = gameObject.Value.AddComponent<UnityEventHandler>(); handler.type = type; handler.onTrigger+=OnTrigger; }
public override void OnEnter() { base.OnEnter(); handler = gameObject.Value.AddComponent <UnityEventHandler> (); handler.type = type; handler.onTrigger += OnTrigger; }
private void OptionsEvents(DialogueBase db) { DialogueOptions dialogueOptions = db as DialogueOptions; for (int i = 0; i < optionsAmaount; i++) { optionButtons[i].SetActive(true); optionButtons[i].transform.GetChild(0).gameObject.GetComponent <Text>().text = dialogueOptions.optionsInfo[i].buttonName; UnityEventHandler myEventHandler = optionButtons[i].GetComponent <UnityEventHandler>(); myEventHandler.eventHandler = dialogueOptions.optionsInfo[i].myEvent; if (dialogueOptions.optionsInfo[i].nextDialogue != null) { myEventHandler.myDialogueBase = dialogueOptions.optionsInfo[i].nextDialogue; } else { myEventHandler.myDialogueBase = null; } if (dialogueOptions.optionsInfo[i].optionsImage != null) { newoptionsImage.sprite = dialogueOptions.optionsInfo[i].optionsImage; } else { newoptionsImage.sprite = null; } } }
public void EnqueueDialogue(DialogueBase db) { if (inDialogue || QuestManager.instance.InQuestUI) { return; } EndBool = false; buffer = true; inDialogue = true; StartCoroutine(BufferTimer()); dialogueBox.SetActive(true); dialogueInfo.Clear(); currentDialogue = db; if (db is DialogueOptions) { isDialogueOption = true; DialogueOptions dialogueOptions = db as DialogueOptions; optionsAmount = dialogueOptions.optionsInfo.Length; questionText.text = dialogueOptions.questionText; for (int i = 0; i < optionButtons.Length; i++) { optionButtons[i].SetActive(false); } for (int i = 0; i < optionsAmount; i++) { optionButtons[i].SetActive(true); optionButtons[i].transform.GetChild(0).gameObject.GetComponent <TextMeshProUGUI>().text = dialogueOptions.optionsInfo[i].buttonName; UnityEventHandler myEventHandler = optionButtons[i].GetComponent <UnityEventHandler>(); myEventHandler.eventHandler = dialogueOptions.optionsInfo[i].myEvent; if (dialogueOptions.optionsInfo[i].nextDialogue != null) { myEventHandler.myDialogue = dialogueOptions.optionsInfo[i].nextDialogue; } else { myEventHandler.myDialogue = null; } } } else { isDialogueOption = false; } foreach (DialogueBase.NPCInfo info in db.dialogueInfo) { dialogueInfo.Enqueue(info); } totalLineCount = dialogueInfo.Count; DequeueDialogue(); }
public void EnqueueDialogue(DialogueBase db) { if (stillTyping) { return; } else { stillTyping = true; } DialogueBox.SetActive(true); DialogueInfo.Clear(); if (db is DialogueOptions) { isDialogueOption = true; DialogueOptions dialogueOptions = db as DialogueOptions; optionsAmount = dialogueOptions.OptionsInfo.Length; QuestionText.text = dialogueOptions.QuestionText; for (int i = 0; i < OptionButtons.Length; i++) { OptionButtons[i].SetActive(false); } for (int i = 0; i < optionsAmount; i++) { OptionButtons[i].SetActive(true); OptionButtons[i].transform.GetChild(0).gameObject.GetComponent <TMP_Text>().text = dialogueOptions.OptionsInfo[i].ButtonName; UnityEventHandler myEventHandler = OptionButtons[i].GetComponent <UnityEventHandler>(); myEventHandler.EventHandler = dialogueOptions.OptionsInfo[i].MyEvent; if (dialogueOptions.OptionsInfo[i].nextDialogue != null) { myEventHandler.MyDialogue = dialogueOptions.OptionsInfo[i].nextDialogue; } else { myEventHandler.MyDialogue = null; } } } else { isDialogueOption = false; } foreach (DialogueBase.Info info in db.DialogueInfo) { DialogueInfo.Enqueue(info); } DequeueDialogue(); }
public void EnqueueDialogue(Dialogue db) { if (inDialogue) { return; } inDialogue = true; dialogueBox.SetActive(true); dialogueInfo.Clear(); if (db is DialogueOptions) { isDialogueOption = true; DialogueOptions dialogueOptions = db as DialogueOptions; optionsAmount = dialogueOptions.optionsInfo.Length; questionText.text = dialogueOptions.questionText; for (int i = 0; i < optionButtons.Length; i++) { optionButtons[i].SetActive(false); //makes all options buttons inactive at start } for (int i = 0; i < optionsAmount; i++) { optionButtons[i].SetActive(true); optionButtons[i].transform.GetChild(0).gameObject.GetComponent <Text>().text = dialogueOptions.optionsInfo[i].buttonName; UnityEventHandler myEventHandler = optionButtons[i].GetComponent <UnityEventHandler>(); myEventHandler.eventHandler = dialogueOptions.optionsInfo[i].myEvent; if (dialogueOptions.optionsInfo[i] != null) //checks if there is another dialogue option { myEventHandler.myDialogue = dialogueOptions.optionsInfo[i].nextDialogue; //queues next dialogue } else { myEventHandler.myDialogue = null; } } } else { isDialogueOption = false; } foreach (Dialogue.Info info in db.dialogueInfo) { dialogueInfo.Enqueue(info); } DequeueDialogue(); }
//options rangées private void OptionsParser(DialogueBase db) { if (db is DialogueOptions) { isDialogueOption = true; DialogueOptions dialogueOptions = db as DialogueOptions; optionsAmount = dialogueOptions.optionsInfo.Length; questionText.text = dialogueOptions.questionText; boolIndex = dialogueOptions.boolIndex; //on désactive tous les boutons for (int i = 0; i < optionButtons.Length; i++) { optionButtons[i].SetActive(false); } //puis on active ceux qu'on utilise for (int i = 0; i < optionsAmount; i++) { optionButtons[i].SetActive(true); // vérifier qu'il n'y a qu'un seul enfant Text par button optionButtons[i].transform.GetChild(0).gameObject.GetComponent <Text>().text = dialogueOptions.optionsInfo[i].buttonName; //on équivaut UnityEvent et myEvent UnityEventHandler myEventHandler = optionButtons[i].GetComponent <UnityEventHandler>(); myEventHandler.eventHandler = dialogueOptions.optionsInfo[i].myEvent; //active myButton //vérifie s'il y a un dialogue dans la liste if (dialogueOptions.optionsInfo[i].nextDialogue != null) { //crée un nouveau dialogue myEventHandler.myDialogue = dialogueOptions.optionsInfo[i].nextDialogue; } else { myEventHandler.myDialogue = null; } } } else { isDialogueOption = false; } }
private void ParseOptions(DialogueBase db) { if (db is DialogueOptions) { isDialogueOption = true; DialogueOptions dialogueOptions = db as DialogueOptions; numOptions = dialogueOptions.optionInfo.Length; optionButtons[0].GetComponent <Button>().Select(); //has the first button automatically selected (won't be highlighted until you move the cursor) for (int i = 0; i < optionButtons.Length; i++) { optionButtons[i].SetActive(false); //makes sure no buttons are showing } for (int i = 0; i < numOptions; i++) { optionButtons[i].SetActive(true); //activates only the required number of options optionButtons[i].transform.GetChild(0).gameObject.GetComponent <Text>().text = dialogueOptions.optionInfo[i].buttonName; //sets button names UnityEventHandler handler = optionButtons[i].GetComponent <UnityEventHandler>(); //allows access to button trigger to set custom event handler.eventHandler = dialogueOptions.optionInfo[i].myEvent; //hooks up the UnityEventHandler to the button's events and triggers if (dialogueOptions.optionInfo[i].nextDialogue != null) { handler.dialogue = dialogueOptions.optionInfo[i].nextDialogue; //displays option branch dialogue if available } else { handler.dialogue = null; //needs to be null for UnityEventHandler to know what to do with it } } } else { isDialogueOption = false; } }
private void ParseOptions(DialogueBase db) { if (db is DialogueOptions) { isDialogueOption = true; DialogueOptions dialogueOptions = db as DialogueOptions; numOptions = dialogueOptions.optionInfo.Length; optionButtons[0].GetComponent <Button>().Select(); for (int i = 0; i < optionButtons.Length; i++) { optionButtons[i].SetActive(false); } for (int i = 0; i < numOptions; i++) { optionButtons[i].SetActive(true); optionButtons[i].transform.GetChild(0).gameObject.GetComponent <Text>().text = dialogueOptions.optionInfo[i].buttonName; UnityEventHandler handler = optionButtons[i].GetComponent <UnityEventHandler>(); handler.eventHandler = dialogueOptions.optionInfo[i].myEvent; if (dialogueOptions.optionInfo[i].nextDialogue != null) { handler.dialogue = dialogueOptions.optionInfo[i].nextDialogue; } else { handler.dialogue = null; } } } else { isDialogueOption = false; } }