Class LineBrush
This Brush helps draw lines of Tiles onto a Tilemap. Use this as an example to modify brush painting behaviour to making painting quicker with less actions.
Inherited Members
Namespace: UnityEditor .Tilemaps
Assembly: Unity.2D.Tilemap.Extras.Editor.dll
Syntax
[HelpURL("https://docs.unity3d.com/Packages/com.unity.2d.tilemap.extras@latest/index.html?subfolder=/manual/LineBrush.html")]
[CustomGridBrush(true, false, false, "Line Brush")]
public class LineBrush : GridBrush
Fields
fillGaps
Ensures that there are orthogonal connections of Tiles from the start of the line to the end.
Declaration
public bool fillGaps
Field Value
Type | Description |
---|---|
bool |
lineStart
The current starting point of the line.
Declaration
public Vector3Int lineStart
Field Value
Type | Description |
---|---|
Vector3Int |
lineStartActive
Whether the Line Brush has started drawing a line.
Declaration
public bool lineStartActive
Field Value
Type | Description |
---|---|
bool |
Properties
IsMoving
Indicates whether the brush is currently moving something using the "Move selection with active brush" tool.
Declaration
public bool IsMoving { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
GetPointsOnLine(Vector2Int, Vector2Int)
Gets an enumerable for all the cells directly between two points http://ericw.ca/notes/bresenhams-line-algorithm-in-csharp.html
Declaration
public static IEnumerable<Vector2Int> GetPointsOnLine(Vector2Int p1, Vector2Int p2)
Parameters
Type | Name | Description |
---|---|---|
Vector2Int | p1 | A starting point of a line |
Vector2Int | p2 | An ending point of a line |
Returns
Type | Description |
---|---|
IEnumerable<Vector2Int> | Gets an enumerable for all the cells directly between two points |
GetPointsOnLine(Vector2Int, Vector2Int, bool)
Enumerates all the points between the start and end position which are linked diagonally or orthogonally.
Declaration
public static IEnumerable<Vector2Int> GetPointsOnLine(Vector2Int startPos, Vector2Int endPos, bool fillGaps)
Parameters
Type | Name | Description |
---|---|---|
Vector2Int | startPos | Start position of the line. |
Vector2Int | endPos | End position of the line. |
bool | fillGaps | Fills any gaps between the start and end position so that all points are linked only orthogonally. |
Returns
Type | Description |
---|---|
IEnumerable<Vector2Int> | Returns an IEnumerable which enumerates all the points between the start and end position which are linked diagonally or orthogonally. |
MoveEnd(GridLayout, GameObject, BoundsInt)
Ends the movement of tiles and GameObjects to a given position within the selected layers.
Declaration
public override void MoveEnd(GridLayout grid, GameObject brushTarget, BoundsInt position)
Parameters
Type | Name | Description |
---|---|---|
Grid |
grid | Grid used for layout. |
Game |
brushTarget | Target of the Move operation. By default the currently selected GameObject. |
Bounds |
position | The coordinates of the cell to move data to. |
Overrides
MoveStart(GridLayout, GameObject, BoundsInt)
Starts the movement of tiles and GameObjects from a given position within the selected layers.
Declaration
public override void MoveStart(GridLayout grid, GameObject brushTarget, BoundsInt position)
Parameters
Type | Name | Description |
---|---|---|
Grid |
grid | Grid used for layout. |
Game |
brushTarget | Target of the Move operation. By default the currently selected GameObject. |
Bounds |
position | The coordinates of the cell to move data from. |
Overrides
Paint(GridLayout, GameObject, Vector3Int)
Paints tiles and GameObjects into a given position within the selected layers. The LineBrush overrides this to provide line painting functionality. The first paint action sets the starting point of the line. The next paint action sets the ending point of the line and paints Tile from start to end.
Declaration
public override void Paint(GridLayout grid, GameObject brushTarget, Vector3Int position)
Parameters
Type | Name | Description |
---|---|---|
Grid |
grid | Grid used for layout. |
Game |
brushTarget | Target of the paint operation. By default the currently selected GameObject. |
Vector3Int | position | The coordinates of the cell to paint data to. |