// Map private void mapNum_ValueChanged(object sender, EventArgs e) { mapName.SelectedIndex = (int)mapNum.Value; if (!this.Updating) { area.Map = (int)mapNum.Value; mapForm.LoadProperties(); tileset = new Tileset(map, paletteSet); tilemap = new AreaTilemap(area, tileset); ownerForm.TilemapForm.SetTilemapImage(); } }
/// <summary> /// Called when the map index has been changed. /// </summary> public void MapChanged() { tileset = new Tileset(map, paletteSet); foreach (var tilesetForm in tilesetForms) { tilesetForm.SetTilesetImage(); } tilemap = new AreaTilemap(area, tileset); tilemapForm.SetTilemapImage(); ownerForm.ReloadPaletteEditor(); ownerForm.ReloadGraphicEditor(); }
/// <summary> /// Creates an RGB pixel map of the chunk's tilemap data using a specified tileset. /// </summary> /// <param name="area">The area containing the tilemap properties.</param> /// <param name="tileset">The tileset to use.</param> /// <returns></returns> public int[] GetPixels(Area area, Tileset tileset) { AreaTilemap tilemap = new AreaTilemap(area, tileset, this); int[] pixels = tilemap.Pixels; int[] temp = new int[Size.Width * Size.Height]; for (int y = 0; y < Size.Height; y++) { for (int x = 0; x < Size.Width; x++) { temp[y * Size.Width + x] = pixels[y * 1024 + x]; } } return(temp); }