SetTiles
Sets an array of Tile s at the given XYZ coordinates of the corresponding cells in the Tilemap.
Read time 4 minutesLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEngine.Tilemaps
- Assembly: UnityEngine.TilemapModule
SetTiles(Vector3Int[], TileBase[])
public void SetTiles(Vector3Int[] positionArray, TileBase[] tileArray)
Parameters
Remarks
Refer to Scriptable Tiles and Tilemap for more information.
Examples
// Fills Tilemap area with checkerboard pattern of tileA and tileBusing UnityEngine;using UnityEngine.Tilemaps;public class ExampleClass : MonoBehaviour{ public TileBase tileA; public TileBase tileB; public Vector2Int size; void Start() { Vector3Int[] positions = new Vector3Int[size.x * size.y]; TileBase[] tileArray = new TileBase[positions.Length]; for (int index = 0; index < positions.Length; index++) { positions[index] = new Vector3Int(index % size.x, index / size.y, 0); tileArray[index] = index % 2 == 0 ? tileA : tileB; } Tilemap tilemap = GetComponent<Tilemap>(); tilemap.SetTiles(positions, tileArray); }}
SetTiles(NativeArray<Vector3Int>, TileArray)
public void SetTiles(NativeArray<Vector3Int> positionArray, Tilemap.TileArray tileArray)
Parameters
The array of positions of tiles on the Tilemap.
Remarks
Refer to Scriptable Tiles and Tilemap for more information.
Examples
// Fills Tilemap area with checkerboard pattern of tileA and tileBusing UnityEngine;using UnityEngine.Tilemaps;using Unity.Collections;public class ExampleClass_Native : MonoBehaviour{ public TileBase tileA; public TileBase tileB; public Vector2Int size; void Start() { NativeArray<Vector3Int> positions = new NativeArray<Vector3Int>(size.x * size.y, Allocator.Temp); Tilemap.TileArray tileArray = new Tilemap.TileArray(positions.Length, Allocator.Temp); for (int index = 0; index < positions.Length; index++) { positions[index] = new Vector3Int(index % size.x, index / size.y, 0); tileArray[index] = index % 2 == 0 ? tileA : tileB; } Tilemap tilemap = GetComponent<Tilemap>(); tilemap.SetTiles(positions, tileArray); }}
SetTiles(TileChangeData[], bool)
Sets an array of Tiles with additonal properties at the given XYZ coordinates of the corresponding cells in the Tilemap. The Color and Transform of the TileChangeData will take precedence over the values from the Tile.
public void SetTiles(TileChangeData[] tileChangeDataArray, bool ignoreLockFlags)
Parameters
The array of Tiles with additional properties to place.
Whether to ignore lock flags set in the tile's when applying color and transform changes from TileChangeData.
TileFlagsRemarks
Refer to Scriptable Tiles and Tilemap for more information.
SetTiles(NativeArray<Vector3Int>, TileArray, NativeArray<Color>, NativeArray<Matrix4x4>, bool)
Sets an array of Tiles with additonal properties at the given XYZ coordinates of the corresponding cells in the Tilemap. The color and transform of the corresponding arrays will take precedence over the values from the Tile.
public void SetTiles(NativeArray<Vector3Int> positionArray, Tilemap.TileArray tileArray, NativeArray<Color> colorArray, NativeArray<Matrix4x4> transformArray, bool ignoreLockFlags)
Parameters
An array of positions of tiles on the Tilemap.
The array of colors for tiles on the Tilemap.
The array of transforms for tiles on the Tilemap.
Whether to ignore lock flags set in the tile's when applying color and transform changes from TileChangeData.
TileFlagsRemarks
Refer to Scriptable Tiles and Tilemap for more information.
Examples
// Fills tilemap area with checkerboard pattern of tileA and tileBusing UnityEngine;using UnityEngine.Tilemaps;using Unity.Collections;public class ExampleClass_Native_Color_Transform : MonoBehaviour{ public TileBase tileA; public TileBase tileB; public Vector2Int size; void Start() { NativeArray<Vector3Int> positions = new NativeArray<Vector3Int>(size.x * size.y, Allocator.Temp); Tilemap.TileArray tileArray = new Tilemap.TileArray(positions.Length, Allocator.Temp); NativeArray<Color> colorArray = new NativeArray<Color>(positions.Length, Allocator.Temp); NativeArray<Matrix4x4> transformArray = new NativeArray<Matrix4x4>(positions.Length, Allocator.Temp); for (int index = 0; index < positions.Length; index++) { positions[index] = new Vector3Int(index % size.x, index / size.y, 0); tileArray[index] = index % 2 == 0 ? tileA : tileB; colorArray[index] = index % 2 == 0 ? Color.white : Color.black; transformArray[index] = Matrix4x4.identity; } Tilemap tilemap = GetComponent<Tilemap>(); tilemap.SetTiles(positions, tileArray, colorArray, transformArray, true); }}