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(); }