public TileMap(Tileset tileset, MapLayer mapLayer) { _tilesets = new List<Tileset> {tileset}; _mapLayers = new List<MapLayer> {mapLayer}; _mapWidth = _mapLayers[0].Width; _mapHeight = _mapLayers[0].Height; }
public TileMap(Tileset tileset, MapLayer baseLayer) { tilesets = new List<Tileset>(); tilesets.Add(tileset); mapLayers = new List<ILayer>(); mapLayers.Add(baseLayer); mapWidth = baseLayer.Width; mapHeight = baseLayer.Height; }
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 TileMap(Tileset tileset, MapLayer mapLayer) { tilesets = new List<Tileset>(); tilesets.Add(tileset); mapLayers = new List<MapLayer>(); mapLayers.Add(mapLayer); mapHeight = mapLayers[0].Height; mapWidth = mapLayers[0].Width; }
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 AddTileset(Tileset tileset) { tilesets.Add(tileset); }
void openTilesetToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog ofDialog = new OpenFileDialog(); ofDialog.Filter = "Tileset Data (*.tdat)|*.tdat"; ofDialog.CheckPathExists = true; ofDialog.CheckFileExists = true; DialogResult result = ofDialog.ShowDialog(); if (result != DialogResult.OK) return; TilesetData data = null; Texture2D texture = null; Tileset tileset = null; GDIImage image = null; try { data = XnaSerializer.Deserialize<TilesetData>(ofDialog.FileName); using (Stream stream = new FileStream(data.TilesetImageName, FileMode.Open, FileAccess.Read)) { texture = Texture2D.FromStream(GraphicsDevice, stream); stream.Close(); } image = (GDIImage)GDIBitmap.FromFile(data.TilesetImageName); tileset = new Tileset( texture, data.TilesWide, data.TilesHigh, data.TileWidthInPixels, data.TileHeightInPixels); } catch (Exception exc) { MessageBox.Show(exc.Message, "Error reading tileset"); return; } for (int i = 0; i < lbTileset.Items.Count; i++) { if (lbTileset.Items[i].ToString() == data.TilesetName) { MessageBox.Show("Level already contains a tileset with this name.", "Existing tileset"); return; } } tileSetData.Add(data); tileSets.Add(tileset); lbTileset.Items.Add(data.TilesetName); pbTilesetPreview.Image = image; tileSetImages.Add(image); lbTileset.SelectedIndex = lbTileset.Items.Count - 1; nudCurrentTile.Value = 0; mapLayerToolStripMenuItem.Enabled = true; }
void newTilesetToolStripMenuItem_Click(object sender, EventArgs e) { using (FormNewTileset frmNewTileset = new FormNewTileset()) { frmNewTileset.ShowDialog(); if (frmNewTileset.OKPressed) { TilesetData data = frmNewTileset.TilesetData; try { GDIImage image = (GDIImage)GDIBitmap.FromFile(data.TilesetImageName); tileSetImages.Add(image); Stream stream = new FileStream(data.TilesetImageName, FileMode.Open, FileAccess.Read); Texture2D texture = Texture2D.FromStream(GraphicsDevice, stream); Tileset tileset = new Tileset( texture, data.TilesWide, data.TilesHigh, data.TileWidthInPixels, data.TileHeightInPixels); tileSets.Add(tileset); tileSetData.Add(data); if (map != null) map.AddTileset(tileset); stream.Close(); stream.Dispose(); } catch (Exception ex) { MessageBox.Show("Error reading file.\n" + ex.Message, "Error reading image"); return; } lbTileset.Items.Add(data.TilesetName); if (lbTileset.SelectedItem == null) lbTileset.SelectedIndex = 0; mapLayerToolStripMenuItem.Enabled = true; } } }
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; }