Version: 2017.3
TileAnimationData
Scriptable Tile example

Other useful classes

TileFlags

None = 0

No flags are set for the Tile. This is the default for most Tiles.

LockColor = 1 << 0

Set this flag if the Tile script controls the color of the Tile. If this is set, the Tile controls the color as it is placed onto the Tilemap. You cannot change the Tile’s color through painting or using scripts. If this is not set, you can change the Tile’s color through painting or using scripts.

LockTransform = 1 << 1

Set this flag if the Tile script controls the transform of the Tile. If this is set, the Tile controls the transform as it is placed onto the Tilemap. You cannot rotate or change the Tile’s transform through painting or using scripts. If this is not set, you can change the Tile’s transform through painting or using scripts.

LockAll = LockColor | LockTransform

This is a combination of all the lock flags used by TileBase.

InstantiateSpawnGameObjectRuntimeOnly = 1 << 2

Set this flag if the Tile script should spawn its game object only when your project is running and not in Editor mode.

Tile.ColliderType

None = 0

This Tile does not generate a collider shape.

Sprite = 1

The collider shape generated by this Tile is the physics shape set by the Sprite that the Tile returns. If no physics shape has been set in the Sprite, it tries to generate a shape based on the outline of the Sprite.

Note: If a collider shape for a Tile needs to be generated in runtime, set a physics shape for the Sprite or set the Texture of the Sprite to be readable in order for Unity to generate a shape based on the outline.

Grid = 2

The collider shape generated by this Tile is the shape of the cell, defined by the layout of the Grid.

ITilemap

ITilemap is the base class where Tile can retrieve data from the Tilemap when the Tilemap tries to retrieve data from the Tile.

Vector3Int origin { get; }

This returns the origin point of the Tilemap in cellspace.

Vector3Int size { get; }

This returns the size of the Tilemap in cellspace.

Bounds localBounds { get; }

This returns the bounds of the Tilemap in localspace.

BoundsInt cellBounds { get; }

This returns the bounds of the Tilemap in cellspace.

Sprite GetSprite(Vector3Int location);

This returns the sprite used by the Tile in the Tilemap at the given location.

Color GetColor(Vector3Int location);

This returns the color used by the Tile in the Tilemap at the given location.

Matrix4x4 GetTransformMatrix(Vector3Int location);

This returns the transform matrix used by the Tile in the Tilemap at the given location.

TileFlags GetTileFlags(Vector3Int location);

This returns the tile flags used by the Tile in the Tilemap at the given location.

TileBase GetTile(Vector3Int location);

This returns the Tile in the Tilemap at the given location. If there is no Tile there, it returns null.

T GetTile<T>(Vector3Int location) where T : TileBase;

This returns the Tile in the Tilemap at the given location with type T. If there is no Tile with the matching type there, it returns null.

void RefreshTile(Vector3Int location);

This requests a refresh of the Tile in the Tilemap at the given location.

T GetComponent<T>();

This returns the component T that is attached to the GameObject of the Tilemap.


TileAnimationData
Scriptable Tile example