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;
これらがタイルのデフォルトのプロパティです。 Tilemap Pallete にスプライトをドラッグ&ドロップして作成されたタイルであれば、そのタイルの Sprite プロパティは、ドロップされたスプライトに設定されます。希望のタイルを作るために、タイルのインスタンスのプロパティを調整することもできます。
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
が設定されている場合でも、タイルマップは、それをスタートアップ時にインスタンス化してタイルの場所に配置します。