Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

TileBase.RefreshTile

Объявление

public void RefreshTile(Vector3Int position, Tilemaps.ITilemap tilemap);

Параметры

position Положение плитки на карте плиток.
tilemap Tilemap, на которой присутствует тайл..

Описание

Этот метод вызывается при обновлении плитки.

Реализуйте это и вызовите Tilemap.RefreshTile для всех затрагиваемых плиток на Tilemap, включая плитку в заданной позиции, чтобы обновить их. Это также полезно, если размещение плитки влияет на свойства соседних плиток.

using UnityEngine; using UnityEngine.Tilemaps; // Tile that displays a Sprite when it is alone and a different Sprite when it is orthogonally adjacent to the same NeighourTile [CreateAssetMenu] public class NeighbourTile : TileBase { public Sprite spriteA; public Sprite spriteB; public override void RefreshTile(Vector3Int position, ITilemap tilemap) { for (int yd = -1; yd <= 1; yd++) { Vector3Int location = new Vector3Int(position.x, position.y + yd, position.z); if (IsNeighbour(location, tilemap)) tilemap.RefreshTile(location); } for (int xd = -1; xd <= 1; xd++) { Vector3Int location = new Vector3Int(position.x + xd, position.y, position.z); if (IsNeighbour(location, tilemap)) tilemap.RefreshTile(location); } } public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData) { tileData.sprite = spriteA; for (int yd = -1; yd <= 1; yd += 2) { Vector3Int location = new Vector3Int(position.x, position.y + yd, position.z); if (IsNeighbour(location, tilemap)) tileData.sprite = spriteB; } for (int xd = -1; xd <= 1; xd += 2) { Vector3Int location = new Vector3Int(position.x + xd, position.y, position.z); if (IsNeighbour(location, tilemap)) tileData.sprite = spriteB; } } private bool IsNeighbour(Vector3Int position, ITilemap tilemap) { TileBase tile = tilemap.GetTile(position); return (tile != null && tile == this); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3