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(); }
void Start() { // First loaded scene doesn't apply Cinemachine confines. // Do it again here. SetCinemachineConfines(); _sceneData = FindObjectOfType <SceneDataContainer>(); _audioManager = FindObjectOfType <AudioManager>(); }
void Start() { BGM = GetComponent <AudioSource>(); startVolume = BGM.volume; SceneManager.sceneLoaded += (scene, mode) => _sceneData = FindObjectOfType <SceneDataContainer>(); // Kick it to get going. FadeIn(1f); }
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); } }