Beispiel #1
0
    public void SetState(MenuScreenState state)
    {
        if (currentState != null)
        {
            if (state == currentState.stateId)
            {
                return;
            }
            else
            {
                currentState.Show(false, gc);
            }
        }

        if (state != MenuScreenState.None)
        {
            currentState = statesCached[state];
            currentState.Show(true, gc);
        }
        else
        {
            currentState = null;
        }

        leftHealthBar.SetActive(false);
        rightHealthBar.SetActive(false);

        background.gameObject.SetActive(state != MenuScreenState.None);
        gc.paused = state != MenuScreenState.None;
    }
Beispiel #2
0
        public void Awake()
        {
            State    = MenuScreenState.Closed;
            Animator = GetComponent <Animator>();

            OnFinishOpening       = OnFinishOpening ?? new UnityEvent();
            OnFinishClosing       = OnFinishClosing ?? new UnityEvent();
            OnOpenNextScreenEarly = OnOpenNextScreenEarly ?? new UnityEvent();

            OpenTriggerHash    = Animator.StringToHash(OpenTrigger);
            PreviousIntHash    = Animator.StringToHash(PreviousInt);
            CloseTriggerHash   = Animator.StringToHash(CloseTrigger);
            DestinationIntHash = Animator.StringToHash(DestinationInt);
        }
Beispiel #3
0
        public void Open(MenuScreen previous)
        {
            State = MenuScreenState.Opening;

            if (PreviousIntHash != 0)
            {
                Animator.SetInteger(PreviousIntHash, previous == null ? DefaultScreenID : previous.ScreenID);
            }

            if (CloseTriggerHash != 0)
            {
                Animator.ResetTrigger(CloseTriggerHash);
            }

            if (OpenTriggerHash != 0)
            {
                Animator.SetTrigger(OpenTriggerHash);
            }

            Animator.Update(0f);
        }
Beispiel #4
0
        public void Close(MenuScreen destination)
        {
            State = MenuScreenState.Closing;

            if (DestinationIntHash != 0)
            {
                Animator.SetInteger(DestinationIntHash, destination == null ? DefaultScreenID : destination.ScreenID);
            }

            if (OpenTriggerHash != 0)
            {
                Animator.ResetTrigger(OpenTriggerHash);
            }

            if (CloseTriggerHash != 0)
            {
                Animator.SetTrigger(CloseTriggerHash);
            }

            Animator.Update(0f);
        }
Beispiel #5
0
 public void FinishClosing()
 {
     State = MenuScreenState.Closed;
     OnFinishClosing.Invoke();
 }
Beispiel #6
0
 public void FinishOpening()
 {
     State = MenuScreenState.Open;
     OnFinishOpening.Invoke();
 }
Beispiel #7
0
        public override void Initialise()
        {
            // Initialise menu state
            // ================



            //playerStates
            players.Clear();
            players.Add(new PlayerSelectStruct());
            players.Add(new PlayerSelectStruct());
            players.Add(new PlayerSelectStruct());
            players.Add(new PlayerSelectStruct());

            players[0].ID = 0;
            players[1].ID = 1;
            players[2].ID = 2;
            players[3].ID = 3;

            // Initialise sprites
            m_background     = new Sprite(TextureHandler.menuMainBackground, new Vector2(Settings.m_screenWidth / 2, Settings.m_screenHeight / 2), 0, Vector2.One);
            m_teamLogo       = new Sprite(TextureHandler.teamLogo, new Vector2(Settings.m_screenWidth - 150, Settings.m_screenHeight / 11), 0, new  Vector2(0.5f, 0.5f));
            m_control_scheme = new Sprite(TextureHandler.controlsInformation, new Vector2(Settings.m_screenWidth * 0.5f, Settings.m_screenHeight * 0.5f), 0, Vector2.One);
            //m_gameLogo = new Sprite(TextureHandler.m_gameLogo, new Vector2(Settings.m_screenWidth / 2, Settings.m_screenHeight / 2), 0, Vector2.One);
            // Not sure about this part. Maybe Move to update function
            m_player_1_cow     = new Sprite(TextureHandler.cow1, new Vector2(Settings.m_screenWidth * 0.50f - 10.0f, Settings.m_screenHeight * 0.75f), 0, new Vector2(0.1f, 0.1f));
            m_player_1_vehicle = new Sprite(TextureHandler.player1Vehicle, new Vector2(Settings.m_screenWidth * 0.50f, Settings.m_screenHeight * 0.75f), 0, Vector2.One);
            m_player_2_cow     = new Sprite(TextureHandler.cow2, new Vector2(Settings.m_screenWidth * 0.50f - 10.0f, Settings.m_screenHeight * 0.75f), 0, new Vector2(0.1f, 0.1f));
            m_player_2_vehicle = new Sprite(TextureHandler.player2Vehicle, new Vector2(Settings.m_screenWidth * 0.50f, Settings.m_screenHeight * 0.75f), 0, Vector2.One);
            m_player_3_cow     = new Sprite(TextureHandler.cow3, new Vector2(Settings.m_screenWidth * 0.50f - 10.0f, Settings.m_screenHeight * 0.75f), 0, new Vector2(0.1f, 0.1f));
            m_player_3_vehicle = new Sprite(TextureHandler.player3Vehicle, new Vector2(Settings.m_screenWidth * 0.50f, Settings.m_screenHeight * 0.75f), 0, Vector2.One);
            m_player_4_cow     = new Sprite(TextureHandler.cow4, new Vector2(Settings.m_screenWidth * 0.50f - 10.0f, Settings.m_screenHeight * 0.75f), 0, new Vector2(0.1f, 0.1f));
            m_player_4_vehicle = new Sprite(TextureHandler.player4Vehicle, new Vector2(Settings.m_screenWidth * 0.50f, Settings.m_screenHeight * 0.75f), 0, Vector2.One);
            // Initialise buttons
            m_playButton     = new Button(TextureHandler.menuPlayButton, new Vector2(Settings.m_screenWidth * 0.25f, Settings.m_screenHeight * 0.75f));
            m_controlsButton = new Button(TextureHandler.menuControlsButton, new Vector2(Settings.m_screenWidth * 0.50f, Settings.m_screenHeight * 0.75f));
            m_MenuButton     = new Button(TextureHandler.menuMainMenuButton, new Vector2(Settings.m_screenWidth * 0.75f, Settings.m_screenHeight * 0.75f));
            m_creditsButton  = new Button(TextureHandler.menuCreditsButton, new Vector2(Settings.m_screenWidth * 0.90f, Settings.m_screenHeight * 0.90f));
            m_exitButton     = new Button(TextureHandler.menuExitButton, new Vector2(Settings.m_screenWidth * 0.75f, Settings.m_screenHeight * 0.75f));
            m_backButton     = new Button(TextureHandler.backButton, new Vector2(Settings.m_screenWidth * 0.75f, Settings.m_screenHeight * 0.75f));
            //m_1Button =         new Button(TextureHandler.m_menu1,          new Vector2(Settings.m_screenWidth * 0.33f, Settings.m_screenHeight * 0.50f));
            //m_2Button =         new Button(TextureHandler.m_menu2,          new Vector2(Settings.m_screenWidth * 0.66f, Settings.m_screenHeight * 0.50f));
            //m_3Button =         new Button(TextureHandler.m_menu3,          new Vector2(Settings.m_screenWidth * 0.33f, Settings.m_screenHeight * 0.625f));
            //m_4Button =         new Button(TextureHandler.m_menu4,          new Vector2(Settings.m_screenWidth * 0.66f, Settings.m_screenHeight * 0.625f));

            // Player Select
            players[0].m_actionButton = new Button(TextureHandler.joinButton, new Vector2(Settings.m_screenWidth * 0.1f, Settings.m_screenHeight * 0.9f));
            players[1].m_actionButton = new Button(TextureHandler.joinButton, new Vector2(Settings.m_screenWidth * 0.9f, Settings.m_screenHeight * 0.9f));
            players[2].m_actionButton = new Button(TextureHandler.joinButton, new Vector2(Settings.m_screenWidth * 0.1f, Settings.m_screenHeight * 0.1f));
            players[3].m_actionButton = new Button(TextureHandler.joinButton, new Vector2(Settings.m_screenWidth * 0.9f, Settings.m_screenHeight * 0.1f));
            // Player 1 -- BOTTOM_LEFT
            players[0].m_choice1Button = new Button(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.1f, Settings.m_screenHeight * 0.7f));
            players[0].m_choice2Button = new Button(TextureHandler.vehicleLargeTractorWhite, new Vector2(Settings.m_screenWidth * 0.2f, Settings.m_screenHeight * 0.7f));
            players[0].m_choice3Button = new Button(TextureHandler.vehicleLargeTankWhite, new Vector2(Settings.m_screenWidth * 0.3f, Settings.m_screenHeight * 0.7f));
            players[0].m_choice4Button = new Button(TextureHandler.vehicleLargeBuggyWhite, new Vector2(Settings.m_screenWidth * 0.4f, Settings.m_screenHeight * 0.7f));
            players[0].m_vehicleChoice = new Sprite(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.33f, Settings.m_screenHeight * 0.65f), 0, Vector2.One);
            // Player 2 -- BOTTOM_RIGHT
            players[1].m_choice1Button = new Button(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.9f, Settings.m_screenHeight * 0.7f));
            players[1].m_choice2Button = new Button(TextureHandler.vehicleLargeTractorWhite, new Vector2(Settings.m_screenWidth * 0.8f, Settings.m_screenHeight * 0.7f));
            players[1].m_choice3Button = new Button(TextureHandler.vehicleLargeTankWhite, new Vector2(Settings.m_screenWidth * 0.7f, Settings.m_screenHeight * 0.7f));
            players[1].m_choice4Button = new Button(TextureHandler.vehicleLargeBuggyWhite, new Vector2(Settings.m_screenWidth * 0.6f, Settings.m_screenHeight * 0.7f));
            players[1].m_vehicleChoice = new Sprite(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.67f, Settings.m_screenHeight * 0.65f), 0, Vector2.One);
            // Player 3 -- TOP_LEFT
            players[2].m_choice1Button = new Button(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.1f, Settings.m_screenHeight * 0.3f));
            players[2].m_choice2Button = new Button(TextureHandler.vehicleLargeTractorWhite, new Vector2(Settings.m_screenWidth * 0.2f, Settings.m_screenHeight * 0.3f));
            players[2].m_choice3Button = new Button(TextureHandler.vehicleLargeTankWhite, new Vector2(Settings.m_screenWidth * 0.3f, Settings.m_screenHeight * 0.3f));
            players[2].m_choice4Button = new Button(TextureHandler.vehicleLargeBuggyWhite, new Vector2(Settings.m_screenWidth * 0.4f, Settings.m_screenHeight * 0.3f));
            players[2].m_vehicleChoice = new Sprite(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.33f, Settings.m_screenHeight * 0.35f), 180, Vector2.One);
            players[2].m_choice1Button.m_sprite.SetRotationDegrees(180);
            players[2].m_choice2Button.m_sprite.SetRotationDegrees(180);
            players[2].m_choice3Button.m_sprite.SetRotationDegrees(180);
            players[2].m_choice4Button.m_sprite.SetRotationDegrees(180);
            // Player 4 -- TOP_RIGHT
            players[3].m_choice1Button = new Button(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.9f, Settings.m_screenHeight * 0.3f));
            players[3].m_choice2Button = new Button(TextureHandler.vehicleLargeTractorWhite, new Vector2(Settings.m_screenWidth * 0.8f, Settings.m_screenHeight * 0.3f));
            players[3].m_choice3Button = new Button(TextureHandler.vehicleLargeTankWhite, new Vector2(Settings.m_screenWidth * 0.7f, Settings.m_screenHeight * 0.3f));
            players[3].m_choice4Button = new Button(TextureHandler.vehicleLargeBuggyWhite, new Vector2(Settings.m_screenWidth * 0.6f, Settings.m_screenHeight * 0.3f));
            players[3].m_vehicleChoice = new Sprite(TextureHandler.vehicleLargeCarWhite, new Vector2(Settings.m_screenWidth * 0.67f, Settings.m_screenHeight * 0.35f), 180, Vector2.One);
            players[3].m_choice1Button.m_sprite.SetRotationDegrees(180);
            players[3].m_choice2Button.m_sprite.SetRotationDegrees(180);
            players[3].m_choice3Button.m_sprite.SetRotationDegrees(180);
            players[3].m_choice4Button.m_sprite.SetRotationDegrees(180);

            // Misc
            m_playerBackButton = new Button(TextureHandler.backButton, new Vector2(Settings.m_screenWidth * 0.45f, Settings.m_screenHeight * 0.5f));
            m_playerGoButton   = new Button(TextureHandler.startButton, new Vector2(Settings.m_screenWidth * 0.55f, Settings.m_screenHeight * 0.5f));


            // Play song
            MediaPlayer.Play(AudioHandler.menuMusic);
            MediaPlayer.IsRepeating = true;


            // Set menu screen
            m_currentScreen = MenuScreenState.MAIN_MENU;

            m_touchState = TouchState.IDLE;

            // Set initial next state
            m_nextState = GameState.IN_GAME;

            // Change exectution state
            m_currentExecutionState = ExecutionState.RUNNING;
        }
Beispiel #8
0
        public override void Update(ref TouchHandler touchHandler_, GameTime gameTime_)
        {
            // Update menu state
            // ================

            // NOTE: Debug Purposes
            if (Keyboard.GetState().IsKeyDown(Keys.Q))
            {
                m_currentScreen = MenuScreenState.MAIN_MENU;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.W))
            {
                m_currentScreen = MenuScreenState.PLAYER_SELECT;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.R))
            {
                m_currentScreen = MenuScreenState.OPTIONS;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.T))
            {
                m_currentScreen = MenuScreenState.CREDITS;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.Y))
            {
                bool ready      = true;
                int  readyCount = 0;

                // Loop through each player
                for (int i = 0; i < players.Count; i++)
                {
                    if (players[i].m_playerState == PlayerState.JOINED || players[i].m_playerState == PlayerState.VEHICLE_SELECTED)
                    {
                        ready = false;
                    }
                    else if (players[i].m_playerState == PlayerState.READY)
                    {
                        readyCount++;
                    }
                }
                Settings.m_numberOfPlayers = readyCount;
                m_currentExecutionState    = ExecutionState.CHANGING;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.A))
            {
                m_currentScreen = MenuScreenState.CONTROLS;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.D))
            {
                m_nextState             = GameState.VICTORY_SCREEN;
                m_currentExecutionState = ExecutionState.CHANGING;
            }

            // Change player count with keys - TEMP
            if (Keyboard.GetState().IsKeyDown(Keys.D1))
            {
                Settings.m_numberOfPlayers = 1;
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.D2))
            {
                Settings.m_numberOfPlayers = 2;
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.D3))
            {
                Settings.m_numberOfPlayers = 3;
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.D4))
            {
                Settings.m_numberOfPlayers = 4;
            }



            Debug.AddText("7 for white cow, 8 for highland", new Vector2(20, 850));
            Debug.AddText("C for car, B for tractor, V for tank", new Vector2(20, 900));

            // NOTE: Debug keys
            if (Keyboard.GetState().IsKeyDown(Keys.M))
            {
                // Add player to game
                players[0].m_playerState = PlayerState.JOINED;
                players[0].m_actionButton.m_sprite.SetTexture(TextureHandler.readyUnselectedButton);
            }
            if (Keyboard.GetState().IsKeyDown(Keys.NumPad2))
            {
                players[0].m_playerState = PlayerState.VEHICLE_SELECTED;
                players[0].m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeCarBlue);
                TextureHandler.player1Vehicle = TextureHandler.vehicleSmallCarBlue;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.NumPad3))
            {
                players[0].m_playerState = PlayerState.READY;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.NumPad7))
            {
                players[1].m_playerState    = PlayerState.READY;
                Settings.m_joinedPlayers[1] = true;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.NumPad8))
            {
                players[2].m_playerState    = PlayerState.READY;
                Settings.m_joinedPlayers[2] = true;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.NumPad9))
            {
                players[3].m_playerState    = PlayerState.READY;
                Settings.m_joinedPlayers[3] = true;
            }

            // Update touch input handler
            touchHandler_.Update();

            // If there is a touch on the screen
            if (touchHandler_.GetTouches().Count > 0)
            {
                // Get the position of the last touch
                m_touchState   = TouchState.TOUCHING;
                m_lastPosition = touchHandler_.GetTouches()[touchHandler_.GetTouches().Count - 1].Position;
            }

            for (int i = 0; i < players.Count; i++)
            {
                // If the player has joined
                if (players[i].m_playerState == PlayerState.JOINED)
                {
                    Settings.m_joinedPlayers[i] = true;
                }
            }

            // If there are no touches on the screen (finger released button)
            if (touchHandler_.GetTouches().Count == 0 && m_touchState == TouchState.TOUCHING)
            {
                switch (m_currentScreen)
                {
                case MenuScreenState.MAIN_MENU:
                    // Main Menu screen

                    if (m_playButton.Activated(m_lastPosition))
                    {
                        // Go to Player Select
                        m_currentScreen = MenuScreenState.PLAYER_SELECT;
                    }
                    if (m_exitButton.Activated(m_lastPosition))
                    {
                        // Close app
                    }
                    if (m_creditsButton.Activated(m_lastPosition))
                    {
                        // Go to Credits
                        m_currentScreen = MenuScreenState.CREDITS;
                    }
                    if (m_controlsButton.Activated(m_lastPosition))
                    {
                        // Go to control scheme screen
                        m_currentScreen = MenuScreenState.CONTROLS;
                    }
                    break;

                case MenuScreenState.PLAYER_SELECT:
                    // Player Select screen

                    //counter for amount of players
                    //so we can assign the proper texture

                    // Loop logic for each player
                    foreach (PlayerSelectStruct pss in players)
                    {
                        // Check player's join state
                        if (pss.m_playerState == PlayerState.NONE)
                        {
                            // If action button has been pressed
                            if (pss.m_actionButton.Activated(m_lastPosition))
                            {
                                // Add player to game
                                pss.m_playerState = PlayerState.JOINED;
                                pss.m_actionButton.m_sprite.SetTexture(TextureHandler.readyUnselectedButton);
                            }
                        }
                        else if (pss.m_playerState == PlayerState.JOINED)
                        {
                            // If vehicle button is pressed
                            if (pss.m_choice1Button.Activated(m_lastPosition))
                            {
                                // TODO: Check if the vehicle has already been chosen
                                pss.m_playerState = PlayerState.VEHICLE_SELECTED;

                                #region PickCorrectColour

                                if (pss.ID == 0)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeCarBlue);
                                    TextureHandler.player1Vehicle = TextureHandler.vehicleSmallCarBlue;
                                }
                                else if (pss.ID == 1)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeCarOrange);
                                    TextureHandler.player2Vehicle = TextureHandler.vehicleSmallCarOrange;
                                }
                                else if (pss.ID == 2)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeCarPurple);
                                    TextureHandler.player3Vehicle = TextureHandler.vehicleSmallCarPurple;
                                }
                                else if (pss.ID == 3)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeCarYellow);
                                    TextureHandler.player4Vehicle = TextureHandler.vehicleSmallCarYellow;
                                }

                                #endregion
                            }
                            else if (pss.m_choice2Button.Activated(m_lastPosition))
                            {
                                // TODO: Check if the vehicle has already been chosen
                                pss.m_playerState = PlayerState.VEHICLE_SELECTED;

                                #region PickCorrectColour

                                if (pss.ID == 0)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTractorBlue);
                                    TextureHandler.player1Vehicle = TextureHandler.vehicleSmallTractorBlue;
                                }
                                else if (pss.ID == 1)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTractorOrange);
                                    TextureHandler.player2Vehicle = TextureHandler.vehicleSmallTractorOrange;
                                }
                                else if (pss.ID == 2)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTractorPurple);
                                    TextureHandler.player3Vehicle = TextureHandler.vehicleSmallTractorPurple;
                                }
                                else if (pss.ID == 3)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTractorGreen);
                                    TextureHandler.player4Vehicle = TextureHandler.vehicleSmallTractorGreen;
                                }

                                #endregion
                            }
                            else if (pss.m_choice3Button.Activated(m_lastPosition))
                            {
                                // TODO: Check if the vehicle has already been chosen
                                pss.m_playerState = PlayerState.VEHICLE_SELECTED;

                                #region PickCorrectColour

                                if (pss.ID == 0)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTankBlue);
                                    TextureHandler.player1Vehicle = TextureHandler.vehicleSmallTankBlue;
                                }
                                else if (pss.ID == 1)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTankOrange);
                                    TextureHandler.player2Vehicle = TextureHandler.vehicleSmallTankOrange;
                                }
                                else if (pss.ID == 2)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTankPurple);
                                    TextureHandler.player3Vehicle = TextureHandler.vehicleSmallTankPurple;
                                }
                                else if (pss.ID == 3)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeTankGreen);
                                    TextureHandler.player4Vehicle = TextureHandler.vehicleSmallTankGreen;
                                }

                                #endregion
                            }
                            else if (pss.m_choice4Button.Activated(m_lastPosition))
                            {
                                // TODO: Check if the vehicle has already been chosen
                                pss.m_playerState = PlayerState.VEHICLE_SELECTED;

                                if (pss.ID == 0)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeBuggyBlue);
                                    TextureHandler.player1Vehicle = TextureHandler.vehicleSmallBuggyBlue;
                                }
                                else if (pss.ID == 1)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeBuggyOrange);
                                    TextureHandler.player2Vehicle = TextureHandler.vehicleSmallBuggyOrange;
                                }
                                else if (pss.ID == 2)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeBuggyPurple);
                                    TextureHandler.player3Vehicle = TextureHandler.vehicleSmallBuggyPurple;
                                }
                                else if (pss.ID == 3)
                                {
                                    pss.m_vehicleChoice.SetTexture(TextureHandler.vehicleLargeBuggyYellow);
                                    TextureHandler.player4Vehicle = TextureHandler.vehicleSmallBuggyYellow;
                                }
                            }
                        }
                        else if (pss.m_playerState == PlayerState.VEHICLE_SELECTED)
                        {
                            if (pss.m_actionButton.Activated(m_lastPosition))
                            {
                                pss.m_actionButton.m_sprite.SetTexture(TextureHandler.readySelectedButton);
                                pss.m_playerState = PlayerState.READY;
                            }
                        }
                    }

                    // Check if all players are ready
                    if (m_playerBackButton.Activated(m_lastPosition))
                    {
                        /*// Check if players are ready
                         * if (ready && readyCount > 0) {
                         *  Settings.m_numberOfPlayers = readyCount;
                         *  m_currentExecutionState = ExecutionState.CHANGING;
                         * }*/
                    }
                    if (m_playerGoButton.Activated(m_lastPosition))
                    {
                        bool ready      = true;
                        int  readyCount = 0;

                        // Loop through each player
                        for (int i = 0; i < players.Count; i++)
                        {
                            if (players[i].m_playerState == PlayerState.JOINED || players[i].m_playerState == PlayerState.VEHICLE_SELECTED)
                            {
                                ready = false;
                                // If the player has joined
                                if (players[i].m_playerState == PlayerState.JOINED)
                                {
                                    Settings.m_joinedPlayers[i] = true;
                                }
                            }
                            else if (players[i].m_playerState == PlayerState.READY)
                            {
                                readyCount++;
                            }
                        }
                        if (ready && readyCount > 0)
                        {
                            MediaPlayer.Stop();
                            Settings.m_numberOfPlayers = readyCount;
                            m_currentExecutionState    = ExecutionState.CHANGING;
                        }
                    }

                    break;

                case MenuScreenState.OPTIONS:
                    // Options screen

                    if (m_backButton.Activated(m_lastPosition))
                    {
                        // Go back to Main Menu
                        m_currentScreen = MenuScreenState.MAIN_MENU;
                    }
                    break;

                case MenuScreenState.CONTROLS:
                    // Controls Screen
                    if (m_backButton.Activated(m_lastPosition))
                    {
                        // Go back to the main Menu
                        m_currentScreen = MenuScreenState.MAIN_MENU;
                    }
                    break;

                case MenuScreenState.CREDITS:
                    // Credits screen

                    if (m_MenuButton.Activated(m_lastPosition))
                    {
                        // Go back to Main Menu
                        m_currentScreen = MenuScreenState.MAIN_MENU;
                    }
                    break;
                }
                m_touchState = TouchState.IDLE;
            }
        }