GridBrushBase

class in UnityEngine

/

Inherits from:ScriptableObject

Switch to Manual

Description

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); } } }

Public Functions

BoxEraseErases data on a grid within the given bounds.
BoxFillBox fills tiles and GameObjects into given bounds within the selected layers.
ChangeZPositionChanges the Z position of the GridBrushBase.
EraseErases data on a grid within the given bounds.
FlipFlips the grid brush in the given FlipAxis.
FloodFillFlood fills data onto a grid given the starting coordinates of the cell.
MoveMove is called when user moves the area previously selected with the selection marquee.
MoveEndMoveEnd is called when user has ended the move of the area previously selected with the selection marquee.
MoveStartMoveEnd is called when user starts moving the area previously selected with the selection marquee.
PaintPaints data into a grid within the given bounds.
PickPicks data from a grid given the coordinates of the cells.
ResetZPositionResets Z position changes of the GridBrushBase.
RotateRotates all tiles on the grid brush with the given RotationDirection.
SelectSelect an area of a grid.

Inherited members

Variables

hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Functions

GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the object.

Static Functions

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeGets a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.
CreateInstanceCreates an instance of a scriptable object.

Operators

boolDoes 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.

Messages

AwakeThis function is called when the ScriptableObject script is started.
OnDestroyThis function is called when the scriptable object will be destroyed.
OnDisableThis function is called when the scriptable object goes out of scope.
OnEnableThis function is called when the object is loaded.
OnValidateThis function is called when the script is loaded or a value is changed in the Inspector (Called in the editor only).
ResetReset to default values.