internal void LoadLevel(Game1 game)
        {
            PlayerSpriteFactory.PlayerColorScheme[] schemes = new PlayerSpriteFactory.PlayerColorScheme[NumPlayers];
            int index = 0;

            foreach (Samus player in Players)
            {
                if (player == null)
                {
                    continue;
                }
                schemes[index] = ((Samus)player).ColorScheme;
                index++;
            }
            ILevel multiplayerBrinstar = new MultiplayerBrinstar(NumPlayers, schemes);

            foreach (IController controller in Game1.Controllers)
            {
                controller.SwapCommandScheme();
            }
            game.SetLevel(multiplayerBrinstar);
        }
        public void MenuRight(int playerId)
        {
            if (playerId == -1 || _pointerPositions[playerId] == _menuStrings[playerId].Length - 1)
            {
                return;
            }
            Samus player = (Samus)Players[playerId];

            PlayerSpriteFactory.PlayerColorScheme newScheme = new PlayerSpriteFactory.PlayerColorScheme()
            {
                AccentMissileColor    = player.ColorScheme.AccentMissileColor,
                HelmetColor           = player.ColorScheme.HelmetColor,
                AccentBaseColor       = player.ColorScheme.AccentBaseColor,
                IsZeroSuit            = player.ColorScheme.IsZeroSuit,
                SuitBaseColor         = player.ColorScheme.SuitBaseColor,
                SuitVariaColor        = player.ColorScheme.SuitVariaColor,
                SuitVariaMissileColor = player.ColorScheme.SuitVariaMissileColor
            };

            int selectedColor = ++_colorSelections[playerId][_pointerPositions[playerId]];

            switch (_pointerPositions[playerId])
            {
            case 0:
                newScheme.IsZeroSuit = !player.ColorScheme.IsZeroSuit;
                if (newScheme.IsZeroSuit)
                {
                    _menuStrings[playerId] = new[] { "< Zero Suit >", "< Hair >", "< Suit >", "READY" };
                }
                else
                {
                    _menuStrings[playerId] = new[] { "< Zero Suit >", "< Helmet >", "< Suit >", "< Accent >", "READY" };
                }
                break;

            case 1:
                if (!player.ColorScheme.IsZeroSuit)
                {
                    if (selectedColor >=
                        _helmetColors.Count)
                    {
                        selectedColor = 0;
                    }
                    newScheme.HelmetColor =
                        _helmetColors[selectedColor];
                }
                else
                {
                    if (selectedColor >= _hairColors.Count)
                    {
                        selectedColor = 0;
                    }
                    newScheme.HelmetColor =
                        _hairColors[selectedColor];
                }
                break;

            case 2:
                if (!player.ColorScheme.IsZeroSuit)
                {
                    if (selectedColor >= _zSuitColors.Count)
                    {
                        selectedColor = 0;
                    }
                    newScheme.SuitBaseColor =
                        _zSuitColors[selectedColor];
                }
                else
                {
                    if (selectedColor >= _suitColors.Count)
                    {
                        selectedColor = 0;
                    }
                    newScheme.SuitBaseColor =
                        _suitColors[selectedColor];
                }
                break;

            case 3:
                if (_menuStrings[playerId].Length == 4)
                {
                    break;
                }
                if (!player.ColorScheme.IsZeroSuit)
                {
                    if (selectedColor >= _zSuitAccentColors.Count)
                    {
                        selectedColor = 0;
                    }
                    newScheme.AccentBaseColor =
                        _zSuitAccentColors[selectedColor];
                }
                else
                {
                    if (selectedColor >= _suitAccentColors.Count)
                    {
                        selectedColor = 0;
                    }
                    newScheme.AccentBaseColor =
                        _suitAccentColors[selectedColor];
                }
                break;
            }
            _colorSelections[playerId][_pointerPositions[playerId]] = selectedColor;
            player.ColorScheme = newScheme;
            PlayerSpriteFactory.Instance.SetPlayerToCustomTextures(playerId, newScheme);
        }