private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { if (scene.name != "MainMenu") { musicManager.playMainMenuMusic = false; musicManager.StopMainMenuMusic(); } if (scene.name == "Sandbox" && playerExitingMountain) { foreach (Vector3 position in mountainExitPositions) { Instantiate(gridpointToSpawn, position, Quaternion.identity); } player = FindObjectOfType <PlayerController>(); if (player != null) { player.transform.position = mountainExitPositions[currentMountainNumber]; } } else { playerExitingMountain = false; } switch (scene.name) { case "Level1Puzzle2": if (musicManager.isLevelOneSolved || musicManager.areAllLevelsSolved) { PuzzleTwoManager puzzleTwoManager = FindObjectOfType <PuzzleTwoManager>(); puzzleTwoManager.PuzzleAlreadySolved(); } playerSoundManager = FindObjectOfType <PlayerSoundManager>(); playerSoundManager.surface = PlayerSoundManager.Surface.cave; break; case "Level2Puzzle1": if (musicManager.isLevelTwoSolved || musicManager.areAllLevelsSolved) { PuzzleOneManager puzzleOneManager = FindObjectOfType <PuzzleOneManager>(); puzzleOneManager.PuzzleAlreadySolved(); } playerSoundManager = FindObjectOfType <PlayerSoundManager>(); playerSoundManager.surface = PlayerSoundManager.Surface.cave; break; case "Level3Puzzle3": if (musicManager.isLevelThreeSolved || musicManager.areAllLevelsSolved) { PuzzleThreeManager puzzleThreeManager = FindObjectOfType <PuzzleThreeManager>(); puzzleThreeManager.PuzzleAlreadySolved(); } playerSoundManager = FindObjectOfType <PlayerSoundManager>(); playerSoundManager.surface = PlayerSoundManager.Surface.cave; break; case "Sandbox": playerSoundManager = FindObjectOfType <PlayerSoundManager>(); playerSoundManager.surface = PlayerSoundManager.Surface.sand; break; case "MainMenu": soundsUnlocked = false; musicManager.areAllLevelsSolved = false; musicManager.isLevelOneSolved = false; musicManager.isLevelTwoSolved = false; musicManager.isLevelThreeSolved = false; musicManager.playMainMenuMusic = true; musicManager.CheckWhichMusicToPlay(); break; } }
private void Start() { puzzleManager = FindObjectOfType <PuzzleThreeManager>(); isPuzzleSolved = true; //so can't rotate pieces before pushing button or if re-entering mountain after solving puzzle }