Version: 2018.4
言語: 日本語
TileBase
TileData

Tile

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 が設定されている場合でも、タイルマップは、それをスタートアップ時にインスタンス化してタイルの場所に配置します。


TileBase
TileData