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);
         }
     }
 }
예제 #4
0
        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>());
            }
        }
예제 #5
0
        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);
            }
        }