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. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | The name of the object. |
GetInstanceID | Returns the instance id of the object. |
ToString | Returns the name of the GameObject. |
Destroy | Removes a gameobject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindObjectOfType | Returns the first active loaded object of Type type. |
FindObjectsOfType | Returns a list of all active loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
CreateInstance | Creates an instance of a scriptable object. |
bool | Does the object exist? |
operator != | Compares if two objects refer to a different object. |
operator == | Compares two object references to see if they refer to the same object. |