public void EnableDialogBox() { if (instance.ButtonsOn()) { return; } Show(); if (OnDialogueStart != null) { OnDialogueStart.Invoke(); } title.text = instance.getSpeakerName(); instance.DisableButtons(); OnBoxClicked(); }
public void StartDialogue() { OnDialogueStart?.Invoke(); if(isActive) EndDialogue(); if(pauseDuringDialogue) Time.timeScale = 0f; foreach(var line in dialogue.lines) dialogueLines.Enqueue(line); isActive = true; dialogueBox.SetActive(true); StartCoroutine("NextLine"); }
public void StartDialogue(Dialogue dialogue) { if (hasStarted) { DisplayNexSentences(); return; } OnDialogueStart?.Invoke(); hasStarted = true; dialoguePanel.gameObject.SetActive(true); dialoguePanel.npcNameText.SetText(dialogue.NameNPC()); sentences.Clear(); foreach (var sentence in dialogue.Sentences()) { sentences.Enqueue(sentence); } DisplayNexSentences(); }
/// <summary> /// Starts the dialogue by adding all the dialogue lines from the current dialogue object to a Queue, calls the OnDialogueStart event, pauses the game (if the setting is active) and enables the dialogue box. /// This overload is supposed to be used when there is a default dialogue sequence, since it uses the last set dialogue as the current dialogue. /// Otherwise, use the StartDialogue(Dialogue dialogue) overload. /// </summary> public void StartDialogue(Agent _agent = null, FinalInferno.Movable _movingAgent = null) { // If an agent or movable is passed as parameter, they must have interactions and movement blocked if (_agent) { agent = _agent; agent.canInteract = false; } if (_movingAgent) { movingAgent = _movingAgent; FinalInferno.CharacterOW.PartyCanMove = false; //movingAgent.CanMove = false; } OnDialogueStart?.Invoke(); if (isActive) { EndDialogue(); } if (pauseDuringDialogue) { Time.timeScale = 0f; } foreach (var line in dialogue.lines) { dialogueLines.Enqueue(line); } isActive = true; dialogueBox.gameObject.SetActive(true); StartCoroutine("NextLine"); }
public override void SelectNode(GameObject user) { OnDialogueStart?.Invoke(messages, choices, user); }