Esempio n. 1
0
    IEnumerator Transition(string sceneName, DestinationTag destinationTag)
    {
        FadeUI fadeUI = Instantiate(fadeCanvasPrefabs);

        SaveManager.Instance.SavePlayerData();
        yield return(StartCoroutine(fadeUI.FadeOutScene(2f)));

        if (!SceneManager.GetActiveScene().name.Equals(sceneName))
        {
            yield return(SceneManager.LoadSceneAsync(sceneName));

            yield return(Instantiate(playerPrefabs, GetDestination(destinationTag).transform.position,
                                     GetDestination(destinationTag).transform.rotation));

            SaveManager.Instance.LoadPlayerData();
        }
        else
        {
            GameObject player = GameManager.Instance.playerStats.gameObject;
            player.GetComponent <NavMeshAgent>().enabled = false;
            player.transform.SetPositionAndRotation(GetDestination(destinationTag).transform.position, GetDestination(destinationTag).transform.rotation);
            player.GetComponent <NavMeshAgent>().enabled = true;
        }
        yield return(StartCoroutine(fadeUI.FadeInScene(2f)));
    }
Esempio n. 2
0
        protected SceneTransitionDestination GetDestination(DestinationTag destinationTag)
        {
            SceneTransitionDestination[] entrances = FindObjectsOfType <SceneTransitionDestination>();
            for (int i = 0; i < entrances.Length; i++)
            {
                if (entrances[i].DestinationTag == destinationTag)
                {
                    return(entrances[i]);
                }
            }

            Debug.LogWarning("No entrance was found with the " + destinationTag + " tag.");
            return(null);
        }
Esempio n. 3
0
    private TransitionDestination GetDestination(DestinationTag destinationTag)
    {
        TransitionDestination[] temps = FindObjectsOfType <TransitionDestination>();

        foreach (var VARIABLE in temps)
        {
            if (VARIABLE.destinationTag == destinationTag)
            {
                return(VARIABLE);
            }
        }

        return(null);
    }