public void PaintTile(Point tileID, IBrush brush) { if (brush == null) { Debug.Log("Array doesn't exist"); return; } var applyList = new HashSet <Texture2D>(); // How far we travel var right = brush.BrushSize.X / 2; var left = (brush.BrushSize.X - 1) / 2; var up = brush.BrushSize.Y / 2; var down = (brush.BrushSize.Y - 1) / 2; for (var y = -down; y <= up; y++) { for (var x = -left; x <= right; x++) { var tid = new Point(tileID.X + x, tileID.Y + y); var data = brush.GetBrush(x, y); var changedTexture = ChangeTile(tid, data); if (changedTexture != null) { applyList.Add(changedTexture); } } } // Apply any changes foreach (var texture in applyList) { texture.Apply(); } }
public void PaintTile(Point tileID, IBrush brush) { if (brush == null) { Debug.Log("Array doesn't exist"); return; } var applyList = new HashSet<Texture2D>(); // How far we travel var right = brush.BrushSize.X / 2; var left = (brush.BrushSize.X - 1) / 2; var up = brush.BrushSize.Y / 2; var down = (brush.BrushSize.Y - 1) / 2; for (var y = -down; y <= up; y++) { for (var x = -left; x <= right; x++) { var tid = new Point(tileID.X + x, tileID.Y + y); var data = brush.GetBrush(x, y); var changedTexture = ChangeTile(tid, data); if (changedTexture != null) applyList.Add(changedTexture); } } // Apply any changes foreach (var texture in applyList) { texture.Apply(); } }
public TextureBrush GetBrush() { return(_cell.GetBrush()); }