public BrickBlock(BlockContext context) { this.context = context; }
public QuestionBlock(BlockContext context) { this.context = context; }
public HiddenBlock(BlockContext context) { this.context = context; }
public List <IEntity> LoadLevel(List <BlockContext> blockControllers, List <IEntity> enemies, Grid grid, GraphicsDeviceManager graphics) { List <TileMapInterpreter.Entities> list = InterpretNextLine(); List <IEntity> entities = new List <IEntity>(); int currentHeight = 0; while (!AtEOS()) { for (int i = 0; i < list.Count; i++) { Entities entity = list[i]; switch (entity) { case Entities.BLANK: { break; } case Entities.BRICK_COIN: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_COINS: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_ITEM: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_NOITEM: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_STAR: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.COIN: { IEntity thing = new Sprites.CoinSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, CoinType.Static, CoinFrame.FirstFrame); entities.Add(thing); grid.Add(thing); break; } case Entities.DESTROYED: { break; } case Entities.FLOOR: { IEntity thing = new BlockContext(BlockContext.Blocks.FLOOR, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.FLOWER: { IEntity thing = new Sprites.FireFlowerSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, FireFlowerFrame.FirstFrame); entities.Add(thing); grid.Add(thing); break; } case Entities.GOOMBA: { IEntity thing = new Sprites.RedGoombaSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, false); entities.Add(thing); grid.Add(thing); enemies.Add(thing); break; } case Entities.GREEN_KOOPA: { IEntity thing = new Sprites.GreenKoopaSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE); entities.Add(thing); grid.Add(thing); enemies.Add(thing); break; } case Entities.HIDDEN_HIDDEN: { IEntity thing = new BlockContext(BlockContext.Blocks.HIDDEN, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.HIDDEN_NONHIDDEN: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.SUPER_MUSHROOM: { IEntity thing = new Sprites.MushroomSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, MushroomType.Super); entities.Add(thing); grid.Add(thing); break; } case Entities.UP_MUSHROOM: { IEntity thing = new Sprites.MushroomSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, MushroomType._1Up); entities.Add(thing); grid.Add(thing); break; } case Entities.PLAYER: { IEntity thing = new PlayerContext(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); break; } case Entities.QUESTION_COIN: { IEntity thing = new BlockContext(BlockContext.Blocks.QUESTION, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.QUESTION_ITEM: { IEntity thing = new BlockContext(BlockContext.Blocks.QUESTION, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.QUESTION_STAR: { IEntity thing = new BlockContext(BlockContext.Blocks.QUESTION, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.RED_KOOPA: { IEntity thing = new Sprites.RedKoopaSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE); entities.Add(thing); grid.Add(thing); enemies.Add(thing); break; } case Entities.STAIR: { IEntity thing = new BlockContext(BlockContext.Blocks.STAIR, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.STAR: { IEntity thing = new Sprites.StarmanSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, StarmanFrame.FirstFrame); entities.Add(thing); grid.Add(thing); break; } case Entities.USED: { IEntity thing = new BlockContext(BlockContext.Blocks.USED, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } default: { break; } } } list = InterpretNextLine(); currentHeight++; } return(entities); }