Version: 2020.1
可编程瓦片
Tile

TileBase

所有要添加到瓦片地图的瓦片必须继承自 TileBaseTileBase 为瓦片地图提供了一组固定 API 来传达其渲染属性。对于 API 的大多数情况,瓦片的位置和瓦片所在瓦片地图的实例作为 API 的参数传入。由此可确定用于设置瓦片信息的所有必需属性。

public void RefreshTile(Vector3Int ___location, ITilemap tilemap) 

RefreshTile 确定将此瓦片添加到瓦片地图时所更新的附近瓦片。默认情况下,TileBase 调用 tilemap.RefreshTile(___location) 来刷新当前位置的瓦片。对此进行重写可以确定由于放置新瓦片而需要刷新的瓦片。

示例:在一条直路的旁边放着一个 RoadTile。直路不再有效。实际需要一个 T 形截面。Unity 不会自动知道需要刷新什么,因此 RoadTile 需要触发自身刷新,但也需要触发邻近道路上的刷新。

public bool GetTileData(Vector3Int ___location, ITilemap tilemap, ref TileData tileData) 

GetTileData 确定瓦片在瓦片地图上的外观。有关更多详细信息,请参阅后面的 TileData

public bool GetTileAnimationData(Vector3Int ___location, ITilemap tilemap, ref TileAnimationData tileAnimationData) 

GetTileAnimationData 确定瓦片是否已动画化。如果瓦片有动画,则返回 true,否则返回 false。

public bool StartUp(Vector3Int ___location, ITilemap tilemap, GameObject go) 

当瓦片地图第一次更新时,将为每个瓦片调用 StartUp。如有必要,可为瓦片地图上的瓦片运行任何启动逻辑。参数 go 是调用 GetTileData 时作为游戏对象而传入的对象的实例化版本。也可根据需要更新 go


  • 2017–09–06 页面已发布
可编程瓦片
Tile