public void OpenPuzzle2()
    {
        PuzzleCanvas2.SetActive(true);
        GameObject.FindGameObjectWithTag("SoundFXManager").GetComponent <SoundManager>().PlayComputerBeepOne();
        if (!puzzle2Manager)
        {
            puzzle2Manager = PuzzleCanvas2.GetComponent <PuzzleTwoManager>();
        }
        pause.MenuOn();
        disable                     = true;
        canOperate2                 = false;
        TimeStop.unavailable        = true;
        ItemInventory.unavailable   = true;
        StartScreen.unavailable     = true;
        WeaponInventory.unavailable = true;

        fpscontroller         = GameObject.FindGameObjectWithTag("Player").GetComponent <FirstPersonController>();
        fpscontroller.enabled = false;
        Cursor.lockState      = CursorLockMode.Confined;



        Cursor.lockState = CursorLockMode.None;
        Cursor.lockState = CursorLockMode.Confined;
        Cursor.visible   = true;
        //GameObject.Find("EventSystem").GetComponent<EventSystem>().SetSelectedGameObject(PuzzleCanvas2.transform.Find("Panel").transform.Find("Button").gameObject, null);
        puzzle2Manager.PopulateScreen();
    }
 private void Awake()
 {
     audioSource    = GetComponent <AudioSource>();
     spriteRenderer = GetComponent <SpriteRenderer>();
     puzzleManager  = FindObjectOfType <PuzzleTwoManager>();
     puzzleButton   = FindObjectOfType <PuzzleButtonTwo>();
     buttonRenderer = button.GetComponent <SpriteRenderer>();
 }
    private void Start()
    {
        player        = FindObjectOfType <PlayerController>();
        animator      = GetComponent <Animator>();
        audioSource   = GetComponent <AudioSource>();
        puzzleManager = FindObjectOfType <PuzzleTwoManager>();

        soundCount = 0;
    }
    // Use this for initialization
    void Start()
    {
        PuzzleCanvas2 = GameObject.FindGameObjectWithTag("PuzzleCanvasTwo");
        pause         = GameObject.FindGameObjectWithTag("GamePauser").GetComponent <Pause>();

        puzzle2Manager = PuzzleCanvas2.GetComponent <PuzzleTwoManager>();
        //puzzleDialogue = GameObject.Find("PuzzleDialogue1");
        //puzzleDialogue.SetActive(false);
        puzzle2Manager.DeactivateThis();
    }
    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;
        }
    }