Base class for authoring data on a grid with grid painting tools like paint, erase, pick, select and fill.
Inheriting this class and/or creating brush asset instances from your inherited class, you can create custom brushes which react to high level grid events like paint, erase, pick, select and fill.
using UnityEngine;
// Paints two Prefabs in checkerboard pattern [CreateAssetMenu] public class CheckerboardBrush : GridBrushBase { public GameObject prefabA; public GameObject prefabB;
public override void Paint(GridLayout grid, GameObject brushTarget, Vector3Int position) { bool evenCell = Mathf.Abs(position.y + position.x) % 2 > 0; GameObject toBeInstantiated = evenCell ? prefabA : prefabB;
if (toBeInstantiated != null) { GameObject newInstance = Instantiate(toBeInstantiated, grid.CellToWorld(position), Quaternion.identity); newInstance.transform.SetParent(brushTarget.transform); } } }
BoxErase | Erases data on a grid within the given bounds. |
BoxFill | Box fills tiles and GameObjects into given bounds within the selected layers. |
ChangeZPosition | Changes the Z position of the GridBrushBase. |
Erase | Erases data on a grid within the given bounds. |
Flip | Flips the grid brush in the given FlipAxis. |
FloodFill | Flood fills data onto a grid given the starting coordinates of the cell. |
Move | Move is called when user moves the area previously selected with the selection marquee. |
MoveEnd | MoveEnd is called when user has ended the move of the area previously selected with the selection marquee. |
MoveStart | MoveEnd is called when user starts moving the area previously selected with the selection marquee. |
Paint | Paints data into a grid within the given bounds. |
Pick | Picks data from a grid given the coordinates of the cells. |
ResetZPosition | Resets Z position changes of the GridBrushBase. |
Rotate | Rotates all tiles on the grid brush with the given RotationDirection. |
Select | Select an area of a grid. |