public PlayerSelectArena(Golf game, BaseArena previousArena, List <Player> players) : base(game, previousArena)
        {
            Players = players;

            var nextItem = new MenuItem(game, Fonts.GameFont.MeasureString(
                                            new Vector2(10, 100),
                                            Strings.Next), Strings.Next);
            var playerItem = new PlayersMenuItem(game,
                                                 Fonts.GameFont.MeasureString(
                                                     new Vector2(10, nextItem.Bounds.Y + nextItem.Bounds.Height),
                                                     Strings.PlayersMStr), () => Game.GameSettings.Players, p => { Game.GameSettings.Players = p; }, Strings.Players);

            gameType = new GameTypeItem(game, Fonts.GameFont.MeasureString(new Vector2(10, playerItem.Bounds.Y + playerItem.Bounds.Height), Strings.GameType), Strings.GameType);
            var backItem = new MenuItem(game,
                                        Fonts.GameFont.MeasureString(new Vector2(10, gameType.Bounds.Y + gameType.Bounds.Height), Strings.Back), Strings.Back);

            Maps = new List <SMap>(game.CustomGameStorage.LoadMaps().Maps);
            if (!Maps.Any())
            {
                Game.CustomGameStorage.AddMap(new TestMap().ToSMap());
                Maps = new List <SMap>(game.CustomGameStorage.LoadMaps().Maps);
            }
            CustomLevelSelector = new CustomLevelSelector(Maps);
            NormalLevelSelector = new NormalLevelSelector();
            MapChooser          = new MapChooser(game, new Rectangle((int)Game.Center.X - ((Textures.MapBorder.Width + (Textures.Back.Width * 2)) / 2), 100, Textures.MapBorder.Width, Textures.MapBorder.Height), string.Empty, gameType.GameType == GameType.Normal?NormalLevelSelector:CustomLevelSelector, this);
            _menu = Maps.Any()? new Menu(Game, HandleMenuSelect,
                                         nextItem,
                                         playerItem,
                                         gameType,
                                         backItem
                                         ): new Menu(Game, HandleMenuSelect,
                                                     nextItem,
                                                     playerItem,
                                                     backItem
                                                     );
        }
 private void _SetSelector(ILevelSelector obj)
 {
     Target.User.LevelSelectorProvider.Supply -= _SetSelector;
     obj.Select(111).OnValue += _LoadScene;
 }
 public MapChooser(Golf game, Rectangle bounds, string name, ILevelSelector levelSelector, PlayerSelectArena playerSelectArena) : base(game, bounds, name)
 {
     LevelSelector     = levelSelector;
     PlayerSelectArena = playerSelectArena;
     SetBounds();
 }