Esempio n. 1
0
    /*public static DialogueSystem GetDialogueSystem()
     * {
     *  return _dialogueSystem ?? (_dialogueSystem = new DialogueSystem()); //If null, right, if not, left, simple!
     * }*/

    private static void Instantiate()
    {
        _dialoguePanel = GameObject.Find("DialoguePanel").gameObject;
        _textJuicer    = Object.FindObjectOfType <TMP_TextJuicer>().gameObject.GetComponent <TMP_TextJuicer>();
        UIHelperClass.ShowPanel(_dialoguePanel, false);

        for (var i = 0; i < 4; i++)
        {
            _buttonEventHandlers[i] = GameObject.Find("Option" + i).GetComponent <ButtonEventHandler>();
        }

        _dialogueTextMesh = GameObject.Find("DialogueText").GetComponent <TextMeshProUGUI>();

        _defaultContinueEventInfo           = ScriptableObject.CreateInstance <DialogueEventInfo>();
        _defaultContinueEventInfo.eventType = DIALOGUE_EVENT_TYPE.ContinueDialogue;
        _defaultContinueEventInfo.Validate();
    }
Esempio n. 2
0
    public override DialogueEventInfo TalkTo()
    {
        DialogueEventInfo dialogueEventInfo = CreateInstance <DialogueEventInfo>();

        if (dialogueState < dialogues.Count)
        {
            dialogueEventInfo.dialogue = dialogues[dialogueState];
        }
        else
        {
            dialogueEventInfo.dialogue = dialogues[0];
        }
        dialogueEventInfo.dialogue.namable = this;
        dialogueEventInfo.eventType        = DIALOGUE_EVENT_TYPE.StartDialogue;
        dialogueEventInfo.juicy            = juicy;
        dialogueEventInfo.SetDefaultButtonStrings();
        return(dialogueEventInfo);
    }
Esempio n. 3
0
    private static void DialogueEvent(DialogueEventInfo e)
    {
        switch (e.eventType)
        {
        case DIALOGUE_EVENT_TYPE.StartDialogue:
            e.dialogue.current = e.dialogue.first;
            UIHelperClass.ShowPanel(_dialoguePanel, true);
            _textJuicer.enabled = e.juicy;
            SetCurrentDialogue(e.dialogue);
            break;

        case DIALOGUE_EVENT_TYPE.ContinueDialogue:
            ContinueDialogue(e.node);
            break;

        case DIALOGUE_EVENT_TYPE.EndDialogue:
            UIHelperClass.ShowPanel(_dialoguePanel, false);
            _textJuicer.enabled = false;
            break;
        }
    }