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;
        }
    }
示例#2
0
 private void Start()
 {
     puzzleManager  = FindObjectOfType <PuzzleThreeManager>();
     isPuzzleSolved = true; //so can't rotate pieces before pushing button or if re-entering mountain after solving puzzle
 }