MegaMan.LevelEditor.TileBrush.DrawOn C# (CSharp) Метод

DrawOn() публичный Метод

Draws the brush onto the given screen at the given tile location. Returns an "undo brush" - a brush of all tiles that were overwritten. Returns null if no tiles were changed.
public DrawOn ( ScreenDocument screen, int tile_x, int tile_y ) : ITileBrush
screen ScreenDocument
tile_x int
tile_y int
Результат ITileBrush
        public ITileBrush DrawOn(ScreenDocument screen, int tile_x, int tile_y)
        {
            TileBrush undo = new TileBrush(Width, Height);
            bool changed = false;
            foreach (TileBrushCell[] col in cells) {
                foreach (TileBrushCell cell in col) {
                    var old = screen.TileAt(cell.x + tile_x, cell.y + tile_y);

                    if (old == null)
                        continue;
                    undo.AddTile(old, cell.x, cell.y);
                    if (old.Id != cell.tile.Id) {
                        changed = true;
                        screen.ChangeTile(cell.x + tile_x, cell.y + tile_y, cell.tile.Id);
                    }
                }
            }

            if (changed) return undo;
            return null;
        }

Same methods

TileBrush::DrawOn ( Graphics g, int x, int y ) : void

Usage Example

Пример #1
0
 private void ReDraw()
 {
     using (Graphics g = Graphics.FromImage(brushPict.Image))
     {
         g.Clear(Color.Black);
         creatingBrush.DrawOn(g, 0, 0);
     }
     brushPict.Refresh();
 }