Tile
クラスは、タイルマップ上にスプライトを描画するための単純なクラスです。 Tile は TileBase
から継承されます。以下は、タイルの挙動を実現するためにオーバーライドされるメソッドの説明です。
public Sprite sprite;
public Color color = Color.white;
public Matrix4x4 transform = Matrix4x4.identity;
public GameObject gameobject = null;
public TileFlags flags = TileFlags.LockColor;
public ColliderType colliderType = ColliderType.Sprite;
These are the default properties of a Tile. If the Tile was created by dragging and dropping a Sprite onto the Tile Palette, the Tile would have the Sprite property set as the sprite that was dropped in. You may adjust the properties of the Tile instance to get the Tile required.
public void RefreshTile(Vector3Int location, ITilemap tilemap)
これは TileBase
からオーバーライドされていません。デフォルトでは、該当の場所のタイルしかリフレッシュされません。
public override void GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
{
tileData.sprite = this.sprite;
tileData.color = this.color;
tileData.transform = this.transform;
tileData.gameObject = this.gameObject;
tileData.flags = this.flags;
tileData.colliderType = this.colliderType;
}
これによりタイルのインスタンスのプロパティが tileData
内にコピーされ、タイルマップがタイルを描画するために必要な情報が取得されます。
public bool GetTileAnimationData(Vector3Int location, ITilemap tilemap, ref TileAnimationData tileAnimationData)
これは TileBase からオーバーライドされていません。デフォルトでは Tile クラスは Tile アニメーションを一切実行せず false を戻します。
public bool StartUp(Vector3Int location, ITilemap tilemap, GameObject go)
これは TileBase
からオーバーライドされていません。デフォルトでは Tile
クラスは特段のスタートアップ機能を付与されていません。tileData.gameObject
が設定されている場合でも、タイルマップは、それをスタートアップ時にインスタンス化してタイルの場所に配置します。