/*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(); }
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); }
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; } }