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;
        }
    }
Пример #2
0
		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;
 }
Пример #4
0
    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;
            }
        }
    }
Пример #5
0
    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();
    }
Пример #7
0
    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();
    }
Пример #8
0
    //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;
        }
    }
Пример #9
0
    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;
        }
    }
Пример #10
0
    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;
        }
    }