void CreateSourceRectangles() { sourceRects.Clear(); currentSourceIndex = 0; TileLayerDeffination layer = tileMap.GetByOrder(layerIndex); int columns = layer.Columns; int rows = layer.Rows; if (tileSheet == null) { tileSheet = Common.ContentBuilder.Load <Texture2D>( layer.TileSheetFilepath); } int width = tileSheet.Width / columns; int height = tileSheet.Height / rows; Rectangle rect = new Rectangle(0, 0, width, height); for (int y = 0; y < rows; y++) { for (int x = 0; x < columns; x++) { sourceRects.Add(rect); rect.X += width; } rect.X = 0; rect.Y += height; } }
void TilesChangeClicked(string controlID) { TileLayerDeffination layer = tileMap.GetByOrder(currentLayer); switch (controlID) { case "btnTilesXPlus": { int parse = int.Parse(txtTilesX.Text); parse++; txtTilesX.Text = parse + ""; layer.UpdateTiles(parse, true); } break; case "btnTilesXMinus": { int parse = int.Parse(txtTilesX.Text); parse--; if (parse >= 0) { txtTilesX.Text = parse + ""; layer.UpdateTiles(parse, true); } } break; case "btnTilesYPlus": { int parse = int.Parse(txtTilesY.Text); parse++; txtTilesY.Text = parse + ""; layer.UpdateTiles(parse, false); } break; case "btnTilesYMinus": { int parse = int.Parse(txtTilesY.Text); parse--; if (parse >= 0) { txtTilesY.Text = parse + ""; layer.UpdateTiles(parse, false); } } break; } }
public MapCreationGrid(string id, Screen menu, int layerIndex, ref TileMapDeffination tileMap) : base(id, menu) { bounds = new Rectangle( 0, 0, 826, (int)Common.TextureQuality.Y); this.layerIndex = layerIndex; this.tileMap = tileMap; TileLayerDeffination layer = tileMap.GetByOrder(layerIndex); if (layer.Tiles == null) { layer.Tiles = new List <int[]>(); layer.Tiles.Add(new int[] { -1 }); layer.TileOffset = Vector2.One; } else { loaded = true; } grid = new Grid(ID + "Grid", Vector2.Zero, layer.Tiles[0].Length, layer.Tiles.Count, (int)layer.TileSize.X, (int)layer.TileSize.Y, 1, false); AttachComponent(grid); DrawingManager.Add(this); }