void OnEnable()
    {
        playerController.IncreaseScore += OnScoreIncrease;
        playerController.PlayerDead    += OnPlayerDead;


        MainMenuContainer.SetActive(true);
        newScoreObj.SetActive(false);
        ScoreBoard.SetActive(false);
        hudmenu.SetActive(false);
        Leaderboards.SetActive(false);
        LeaderboardSubmit.SetActive(false);

        //on game end scoreboard menu ,if user presses on restart ,
        //we need to disable the mainmenu and changing player to readyto play.
        if (isRestartPressed)
        {
            MainMenuContainer.SetActive(false);
            isRestartPressed = false;
            readyToPlay      = true;
            hudmenu.SetActive(true);
            playerController.currentState = playerController.playerStates.alive;
        }
        else
        {
            playerController.currentState = playerController.playerStates.idle;
        }

        scoreTextMesh.text = "" + 0;
    }
    public void OnButtonClicks(string incomingName)
    {
        //	Debug.Log ("clicked on " + incomingName);
        SoundController.Static.PlayClickSound();

        switch (incomingName)
        {
        case "Play":
            MainMenuContainer.SetActive(false);
            Tutorial.SetActive(true);
            readyToPlay = true;
            playerController.currentState = playerController.playerStates.alive;

            hudmenu.SetActive(true);
            Invoke("lateDeactivateTutorial", 3);
            break;

        case "Home":

            restart();
            break;

        case "Restart":
            isRestartPressed = true;

            hudmenu.SetActive(true);
            restart();

            break;

        case "Setting":
            Setting.SetActive(true);
            break;

        case "BackSetting":
            Setting.SetActive(false);
            break;

        case "Leaderboards":

            Leaderboards.SetActive(true);
            break;

        case "Back":
            Leaderboards.SetActive(false);

            break;

        case "LeaderboardSubmit":
            LeaderboardSubmit.SetActive(true);

            break;

        case "BackSubmit":
            LeaderboardSubmit.SetActive(false);
            ScoreBoard.SetActive(true);

            break;

        case "LeaderboardEnding":
            LeaderboardEnding.SetActive(true);
            break;

        case "BackLeaderboardEnding":
            LeaderboardEnding.SetActive(false);
            break;

        case "Quit":

            Application.Quit();

            break;
        }
    }