public static World Create(MapData mapData, LevelData newLevel, Game game, Rectangle screenRec) { var tilesetList = new List<Tileset>(); foreach (TilesetData data in mapData.Tilesets) { tilesetList.Add( TilesetFactory.Create(data, game) ); } var mapLayers = mapData.Layers.Select(l => MapLayer.FromMapLayerData(l)).ToList(); // MUSTDO: modify TileMap to be able to accept multiple tile sets var map = new TileMap(tilesetList[0], mapLayers[0]); // SHOULDDO: find out why does map need tilesets to? for (int i = 1; i < tilesetList.Count; i++) map.AddTileset(tilesetList[i]); for (int i = 1; i < mapLayers.Count; i++) map.AddLayer(mapLayers[i]); var level = new Level(map); var world = new World(game, screenRec); world.Levels.Add(level); world.CurrentLevel = 0; return world; }
private void CreateWorld() { Texture2D tilesetTexture = Game.Content.Load<Texture2D>(@"Tilesets\tileset1"); Tileset tileset1 = new Tileset(tilesetTexture, 8, 8, 32, 32); tilesetTexture = Game.Content.Load<Texture2D>(@"Tilesets\tileset2"); Tileset tileset2 = new Tileset(tilesetTexture, 8, 8, 32, 32); MapLayer layer = new MapLayer(100, 100); for (int y = 0; y < layer.Height; y++) { for (int x = 0; x < layer.Width; x++) { Tile tile = new Tile(0, 0); layer.SetTile(x, y, tile); } } MapLayer splatter = new MapLayer(100, 100); Random random = new Random(); for (int i = 0; i < 100; i++) { int x = random.Next(0, 100); int y = random.Next(0, 100); int index = random.Next(2, 14); Tile tile = new Tile(index, 0); splatter.SetTile(x, y, tile); } splatter.SetTile(1, 0, new Tile(0, 1)); splatter.SetTile(2, 0, new Tile(2, 1)); splatter.SetTile(3, 0, new Tile(0, 1)); TileMap map = new TileMap(tileset1, layer); map.AddTileset(tileset2); map.AddLayer(splatter); Level level = new Level(map); World world = new World(GameRef, GameRef.ScreenRectangle); world.Levels.Add(level); world.CurrentLevel = 0; GamePlayScreen.World = world; }
private void CreateWorld() { Texture2D tilesetTexture = Game.Content.Load<Texture2D>(@"Tilesets\tileset1"); Tileset tileset1 = new Tileset(tilesetTexture, 8, 8, 32, 32); tilesetTexture = Game.Content.Load<Texture2D>(@"Tilesets\tileset2"); Tileset tileset2 = new Tileset(tilesetTexture, 8, 8, 32, 32); MapLayer layer = new MapLayer(100, 100); for (int y = 0; y < layer.Height; y++) { for (int x = 0; x < layer.Width; x++) { Tile tile = new Tile(0, 0); layer.SetTile(x, y, tile); } } MapLayer splatter = new MapLayer(100, 100); Random random = new Random(); for (int i = 0; i < 100; i++) { int x = random.Next(0, 100); int y = random.Next(0, 100); int index = random.Next(2, 14); Tile tile = new Tile(index, 0); splatter.SetTile(x, y, tile); } splatter.SetTile(1, 0, new Tile(0, 1)); splatter.SetTile(2, 0, new Tile(2, 1)); splatter.SetTile(3, 0, new Tile(0, 1)); TileMap map = new TileMap(tileset1, layer); map.AddTileset(tileset2); map.AddLayer(splatter); Level level = new Level(map); ChestData chestData = Game.Content.Load<ChestData>(@"Game\Chests\Plain Chest"); Chest chest = new Chest(chestData); BaseSprite chestSprite = new BaseSprite( containers, new Rectangle(0, 0, 32, 32), new Point(10, 10)); ItemSprite itemSprite = new ItemSprite( chest, chestSprite); level.Chests.Add(itemSprite); World world = new World(GameRef, GameRef.ScreenRectangle); world.Levels.Add(level); world.CurrentLevel = 0; GamePlayScreen.World = world; }
public void CreateWorld() { Texture2D tileSetTextureGrass = Game.Content.Load<Texture2D>(@"TileSets/grassTileSet"); Tileset tileSetGrass = new Tileset(tileSetTextureGrass, 8, 8, 32, 32); Texture2D tileSetTextureTown = Game.Content.Load<Texture2D>(@"TileSets/townTileSet"); Tileset tileSetTown = new Tileset(tileSetTextureTown, 8, 8, 32, 32); List<Tileset> tileSets = new List<Tileset>(); tileSets.Add(tileSetGrass); tileSets.Add(tileSetTown); MapLayer layer = new MapLayer(100, 100); for (int y = 0; y < layer.Height; y++) { for (int x = 0; x < layer.Width; x++) { Tile tile = new Tile(0, 0); layer.SetTile(x, y, tile); } } MapLayer splatter = new MapLayer(100, 100); Random random = new Random(); for (int i = 0; i < 100; i++) { int x = random.Next(0, 100); int y = random.Next(0, 100); int index = random.Next(2, 14); Tile tile = new Tile(index, 0); splatter.SetTile(x, y, tile); } splatter.SetTile(1, 0, new Tile(0, 1)); splatter.SetTile(2, 0, new Tile(2, 1)); splatter.SetTile(3, 0, new Tile(0, 1)); List<MapLayer> mapLayers = new List<MapLayer>(); mapLayers.Add(layer); mapLayers.Add(splatter); TileMap map = new TileMap(tileSets, mapLayers); Level level = new Level(map); World world = new World(gameRef, gameRef.ScreenRectangle); world.Levels.Add(level); world.CurrentLevel = 0; GamePlayScreen.World = world; }
public void CreateWorld() { Texture2D tileSetTextureGrass = Game.Content.Load<Texture2D>(@"TileSets/grassTileSet"); Tileset tileSetGrass = new Tileset(tileSetTextureGrass, 8, 8, 32, 32); Texture2D tileSetTextureTown = Game.Content.Load<Texture2D>(@"TileSets/townTileSet"); Tileset tileSetTown = new Tileset(tileSetTextureTown, 8, 8, 32, 32); List<Tileset> tileSets = new List<Tileset>(); tileSets.Add(tileSetGrass); tileSets.Add(tileSetTown); MapLayer layer = new MapLayer(100,100); for (int y = 0; y < layer.Height; y++) { for (int x = 0; x < layer.Width; x++) { Tile tile = new Tile(0,0); layer.SetTile(x,y,tile); } } MapLayer splatter = new MapLayer(100, 100); Random random = new Random(); for (int i = 0; i < 100; i++) { int x = random.Next(0,100); int y = random.Next(0, 100); int index = random.Next(2, 14); Tile tile = new Tile(index, 0); splatter.SetTile(x,y,tile); } splatter.SetTile(1,0,new Tile(0,1)); splatter.SetTile(2,0,new Tile(2,1)); splatter.SetTile(3,0,new Tile(0,1)); List<MapLayer> mapLayers = new List<MapLayer>(); mapLayers.Add(layer); mapLayers.Add(splatter); TileMap map = new TileMap(tileSets, mapLayers); Level level = new Level(map); ChestData chestData = new ChestData(); chestData.Name = "Chest"; chestData.MinGold = 10; chestData.MaxGold = 101; Chest chest = new Chest(chestData); BaseSprite chestSprite = new BaseSprite(containers, new Rectangle(0,0,32,32), new Point(10,10)); ItemSprite itemSprite = new ItemSprite(chest, chestSprite); level.Chests.Add(itemSprite); World world = new World(gameRef, gameRef.ScreenRectangle); world.Levels.Add(level); world.CurrentLevel = 0; GamePlayScreen.World = world; }