public static void StartDialogue(Scene map, LoadSceneMode mode) { Fog.Dialogue.Agent agent = CharacterOW.MainOWCharacter.GetComponent <Fog.Dialogue.Agent>(); Fog.Dialogue.DialogueHandler.instance.StartDialogue(cutsceneDialogue, agent, agent.GetComponent <Movable>()); cutsceneDialogue = null; SceneManager.sceneLoaded -= StartDialogue; }
public static void LoadCustscene(string map, Fog.Dialogue.Dialogue dialogue, Vector2?newPosition = null) { updatePositions = false; cutsceneDialogue = dialogue; if (newPosition != null) { foreach (Character character in Party.Instance.characters) { character.position = newPosition.Value; } } Party.Instance.currentMap = SceneManager.GetActiveScene().name; // Salva o jogo se o autosave esta ativado if (SaveLoader.AutoSave) { SaveLoader.SaveGame(); } if (dialogue != null) { SceneManager.sceneLoaded += OnMapLoad; SceneManager.sceneLoaded += StartDialogue; SceneManager.LoadScene(map); } else { SceneManager.sceneLoaded += OnMapLoad; SceneManager.sceneLoaded += UnlockMovement; SceneManager.LoadScene(map); } }
protected override void TriggerAction(Fog.Dialogue.Agent agent) { if (sceneName != null && sceneName != "") { Fog.Dialogue.Dialogue selectedDialogue = null; if (isCutscene) { foreach (DialogueEntry entry in dialogues) { //Debug.Log("Checking dialogue: " + entry.dialogue + " with quest " + entry.quest + " and event " + entry.eventFlag); if (entry.quest.events[entry.eventFlag]) { selectedDialogue = entry.dialogue; } else { //Debug.Log("Event " + entry.eventFlag + " deu false"); break; } } } //Debug.Log("Loading scene: " + sceneName + "; dialogue = " + selectedDialogue); if (!isCutscene) { SceneLoader.LoadOWScene(sceneName, true, positionOnLoad); } else { SceneLoader.LoadCustscene(sceneName, selectedDialogue); } } }
protected override void TriggerAction(Fog.Dialogue.Agent agent) { Fog.Dialogue.Dialogue selectedDialogue = null; foreach (DialogueEntry entry in dialogues) { if (entry.quest.events[entry.eventFlag]) { selectedDialogue = entry.dialogue; } else { break; } } if (selectedDialogue != null) { Fog.Dialogue.DialogueHandler.instance.StartDialogue(selectedDialogue, agent, agent.GetComponent <Movable>()); } }
public void OnInteractAttempt(Agent agent, FinalInferno.Movable movingAgent = null) { Fog.Dialogue.Dialogue selectedDialogue = null; foreach (DialogueEntry entry in dialogues) { if (entry.quest.events[entry.eventFlag]) { selectedDialogue = entry.dialogue; } else { break; } } if (selectedDialogue != null) { Fog.Dialogue.DialogueHandler.instance.StartDialogue(selectedDialogue, agent, movingAgent); } }