Esempio n. 1
0
    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();
        }
    }
Esempio n. 3
0
 public TextureBrush GetBrush()
 {
     return(_cell.GetBrush());
 }