public override void HandleInput(InputState input)
        {
            PlayerIndex playerIndex;
            if (input.IsMenuSelect(ControllingPlayer, out playerIndex))
            {

                if (Accepted != null)
                    Accepted(this, new PlayerIndexEventArgs(playerIndex));

                ExitScreen();
            }
            else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
            {
                if (Cancelled != null)
                    Cancelled(this, new PlayerIndexEventArgs(playerIndex));

                ExitScreen();
            }
        }
        public override void HandleInput(InputState input)
        {
            if (OnStartUp)
            {
                if (input.IsMenuUp(ControllingPlayer))
                {
                    startUpSelectedEntry--;

                    if (startUpSelectedEntry < 0)
                        startUpSelectedEntry = startUpMenuEntries.Count - 1;
                }
                if (input.IsMenuDown(ControllingPlayer))
                {
                    startUpSelectedEntry++;

                    if (startUpSelectedEntry >= startUpMenuEntries.Count)
                        startUpSelectedEntry = 0;
                }
            }
            else
            {

                if (input.IsMenuUp(PlayerIndex.One))
                {
                    selectedEntry--;

                    if (selectedEntry < 0)
                        selectedEntry = menuEntries.Count - 1;
                }

                if (input.IsMenuUp(PlayerIndex.Two))
                {
                    selectedEntry2--;

                    if (selectedEntry2 < 0)
                        selectedEntry2 = menuEntries2.Count - 1;
                }
                if (input.IsMenuUp(PlayerIndex.Three))
                {
                    selectedEntry3--;

                    if (selectedEntry3 < 0)
                        selectedEntry3 = menuEntries3.Count - 1;
                }
                if (input.IsMenuUp(PlayerIndex.Four))
                {
                    selectedEntry4--;

                    if (selectedEntry4 < 0)
                        selectedEntry4 = menuEntries4.Count - 1;
                }

                if (input.IsMenuDown(PlayerIndex.One))
                {
                    selectedEntry++;

                    if (selectedEntry >= menuEntries.Count)
                        selectedEntry = 0;
                }
                if (input.IsMenuDown(PlayerIndex.Two))
                {
                    selectedEntry2++;

                    if (selectedEntry2 >= menuEntries2.Count)
                        selectedEntry2 = 0;
                }
                if (input.IsMenuDown(PlayerIndex.Three))
                {
                    selectedEntry3++;

                    if (selectedEntry3 >= menuEntries3.Count)
                        selectedEntry3 = 0;
                }
                if (input.IsMenuDown(PlayerIndex.Four))
                {
                    selectedEntry4++;

                    if (selectedEntry4 >= menuEntries4.Count)
                        selectedEntry4 = 0;
                }
            }

            PlayerIndex playerIndex;
            if (OnStartUp)
            {
                if (input.IsMenuSelect(ControllingPlayer, out playerIndex))
                {
                    OnSelectEntry(startUpSelectedEntry, playerIndex);
                }
                else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
                {
                    OnCancel(playerIndex);
                }

            }
            else
            {
                if (input.IsMenuSelect(PlayerIndex.One, out playerIndex))
                {
                    OnSelectEntry(selectedEntry, playerIndex);
                }
                else if (input.IsMenuCancel(PlayerIndex.One, out playerIndex))
                {
                    OnCancel(playerIndex);
                }
                if (input.IsMenuSelect(PlayerIndex.Two, out playerIndex))
                {
                    OnSelectEntry(selectedEntry2, playerIndex);
                }
                else if (input.IsMenuCancel(PlayerIndex.Two, out playerIndex))
                {
                    OnCancel(playerIndex);
                }
                if (input.IsMenuSelect(PlayerIndex.Three, out playerIndex))
                {
                    OnSelectEntry(selectedEntry3, playerIndex);
                }
                else if (input.IsMenuCancel(PlayerIndex.Three, out playerIndex))
                {
                    OnCancel(playerIndex);
                }
                if (input.IsMenuSelect(PlayerIndex.Four, out playerIndex))
                {
                    OnSelectEntry(selectedEntry4, playerIndex);
                }
                else if (input.IsMenuCancel(PlayerIndex.Four, out playerIndex))
                {
                    OnCancel(playerIndex);
                }
            }
        }
        public override void HandleInput(InputState input)
        {
            PlayerIndex playerIndex;
            if (input.IsMenuSelect(ControllingPlayer, out playerIndex))
            {

                if (Accepted != null)
                    Accepted(this, new PlayerIndexEventArgs(playerIndex));

                if (returning)
                {
                    LoadingScreen.Load(ScreenManager, true, playerIndex, false, new BackgroundScreen(),
                                                                                new MainMenuScreen());
                }
                else if (exiting)
                {
                    ScreenManager.Game.Exit();
                }

                ExitScreen();
            }
            else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
            {
                if (Cancelled != null)
                    Cancelled(this, new PlayerIndexEventArgs(playerIndex));

                ExitScreen();
            }
        }