Exemple #1
0
        void SceneLoaded(Scene scene, LoadSceneMode mode)
        {
            if (_levelExit == null)
            {
                return;                     // Probably entering from preload.
            }
            _sceneData = FindObjectOfType <SceneDataContainer>();
            if (_audioManager && _sceneData.backgroundAudio && _shouldAudioFade)
            {
                _audioManager.FadeIn(_transitionTime);
            }

            Player     player  = FindObjectOfType <Player>();
            GameObject refExit = GameObject.Find(_levelExit);

            Vector2 spawn = refExit.GetComponent <LevelExit>().PlayerSpawn;

            // Make sure player doesn't spawn inside ground.
            spawn.y += player.GetComponent <Collider2D>().bounds.size.y / 1.5f;

            player.transform.position = spawn;


            SetCinemachineConfines();
        }
Exemple #2
0
        void Start()
        {
            // First loaded scene doesn't apply Cinemachine confines.
            // Do it again here.
            SetCinemachineConfines();

            _sceneData    = FindObjectOfType <SceneDataContainer>();
            _audioManager = FindObjectOfType <AudioManager>();
        }
Exemple #3
0
        void Start()
        {
            BGM         = GetComponent <AudioSource>();
            startVolume = BGM.volume;

            SceneManager.sceneLoaded += (scene, mode) =>
                                        _sceneData = FindObjectOfType <SceneDataContainer>();

            // Kick it to get going.
            FadeIn(1f);
        }
Exemple #4
0
 IEnumerator FadeInRoutine(float fadeTime)
 {
     if (!_sceneData)
     {
         _sceneData = FindObjectOfType <SceneDataContainer>();
     }
     BGM.clip = _sceneData.backgroundAudio;
     BGM.Play();
     while (BGM.volume < startVolume)
     {
         BGM.volume += startVolume * Time.deltaTime / fadeTime;
         yield return(null);
     }
 }