reckfellENGINE

TileMap

Entity 2D карт на основе плитки.

На этой странице
class TileMapReckfellSharpНаследует Entity2D

Entity 2D карт на основе плитки.

Entity для карт на основе 2D. TileSet которые содержат список плиток, используемых для создания карт на основе сетки. TileMap может иметь несколько слоев, компоновывая плитки друг на друга. По причинам эффективности работы все TileMap В конце рамы производится набор данных. Это, в частности, означает, что сцена из плитки TileSetScenesCollectionSource Это очерчено только в том случае, если оно находится внутри сцены. Чтобы запустить обновление, звоните. TileMap.UpdateInternals. Примечание: По соображениям эффективности и совместимости координаты, серийные TileMap дальность для координат X и Y от -32768 в адрес 32767. При сохранении данных о плитках плитки, находящиеся за пределами этого диапазона, завернуты.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

TileMapКонструктор
# TileMap
C#
public TileMap();

Свойства6

CellQuadrantSizeСвойство
# CellQuadrantSize
C#
public int CellQuadrantSize { get; set; }

:: TileMapКвадрантный размер. Оптимизирует рисование путем пакетирования, используя кусочки такого размера.

CollisionAnimatableСвойство
# CollisionAnimatable
C#
public bool CollisionAnimatable { get; set; }

Если включено, TileMap увидит, что его столкновения синхронизированы с физическим тиком, и изменит тип столкновения со статического на кинематический. Это необходимо для создания движущейся платформы на основе TileMap. Примечание: Включение TileMap.CollisionAnimatable может оказать небольшое влияние на производительность, делайте это только в том случае, если TileMap движется и имеет сталкивающиеся тайлы.

CollisionVisibilityModeСвойство
# CollisionVisibilityMode
C#
public TileMap.VisibilityMode CollisionVisibilityMode { get; set; }

Показать или скрыть формы столкновений TileMap. Если установлено значение TileMap.VisibilityMode.Default, это зависит от настроек отладки столкновений.

NavigationVisibilityModeСвойство
# NavigationVisibilityMode
C#
public TileMap.VisibilityMode NavigationVisibilityMode { get; set; }

Показать или скрыть навигационные сетки TileMap. Если установлено значение TileMap.VisibilityMode.Default, это зависит от настроек отладки навигации показа.

RenderingQuadrantSizeСвойство
# RenderingQuadrantSize
C#
public int RenderingQuadrantSize { get; set; }

Размер квадранта TileMap. Квадрант — это группа тайлов, которые нужно нарисовать вместе на одном элементе холста в целях оптимизации. TileMap.RenderingQuadrantSize определяет длину стороны квадрата в системе координат карты, которая образует квадрант. Таким образом, размер квадранта по умолчанию группирует вместе 16 * 16 = 256 плиток. Размер квадранта не применяется к слоям, отсортированным по Y, так как в этом случае тайлы группируются по положению Y. Примечание: Поскольку квадранты создаются в соответствии с системой координат карты, «квадратная форма» квадранта может не выглядеть как квадрат в локальной системе координат TileMap.

TileSetСвойство
# TileSet
C#
public TileSet TileSet { get; set; }

TileSet, используемый этим TileMap. Здесь хранятся текстуры, столкновения и дополнительное поведение всех доступных плиток.

Методы65

AddLayervoid
# AddLayer
C#
public void AddLayer(int toPosition);

Добавляет слой в указанную позицию to_position в массиве. Если to_position отрицательный, позиция отсчитывается с конца, при этом -1 добавляет слой в конец массива.

Параметры
ИмяТипПо умолчанию
toPositionint—
Clearvoid
# Clear
C#
public void Clear();

Очистка всех ячеек.

ClearLayervoid
# ClearLayer
C#
public void ClearLayer(int layer);

Очищает все ячейки на указанном слое. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
EraseCellvoid
# EraseCell
C#
public void EraseCell(int layer, Vector2I coords);

Стирает ячейку на слое layer с координатами coords. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
FixInvalidTilesvoid
# FixInvalidTiles
C#
public void FixInvalidTiles();

Очищает ячейки, которых нет в наборе плиток.

ForceUpdatevoid · Устарело
# ForceUpdate
C#
public void ForceUpdate(int layer = -1);

Принудительно обновляет TileMap и слой layer.

Параметры
ИмяТипПо умолчанию
layerint-1
GetCellAlternativeTileint
# GetCellAlternativeTile
C#
public int GetCellAlternativeTile(int layer, Vector2I coords, bool useProxies = false);

Возвращает ID альтернативы тайла для ячейки на слое layer по координатам coords. Если use_proxies равно false, игнорирует прокси тайлов в TileSet, возвращая исходный идентификатор альтернативы. См. TileSet.MapTileProxy. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
useProxiesboolfalse
Возвращает int
GetCellAtlasCoordsVector2I
# GetCellAtlasCoords
C#
public Vector2I GetCellAtlasCoords(int layer, Vector2I coords, bool useProxies = false);

Возвращает координаты тайла в атласе для ячейки на слое layer с координатами coords. Возвращает Vector2i(-1, -1) если ячейка не существует. Если use_proxies равно false, игнорирует тайловые прокси TileSet, возвращая исходный идентификатор координат атласа. См. TileSet.MapTileProxy. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
useProxiesboolfalse
Возвращает Vector2I
GetCellSourceIdint
# GetCellSourceId
C#
public int GetCellSourceId(int layer, Vector2I coords, bool useProxies = false);

Возвращает ID источника тайла для ячейки на слое layer с координатами coords. Возвращает -1, если ячейка не существует. Если use_proxies равно false, игнорирует прокси тайлов в TileSet, возвращая исходный идентификатор источника. См. TileSet.MapTileProxy. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
useProxiesboolfalse
Возвращает int
GetCellTileDataTileData
# GetCellTileData
C#
public TileData GetCellTileData(int layer, Vector2I coords, bool useProxies = false);

Возвращает объект TileData, связанный с заданной ячейкой, или null, если ячейка не существует или не является TileSetAtlasSource. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Если use_proxies равен false, игнорирует прокси-серверы плиток TileSet. См. TileSet.MapTileProxy.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
useProxiesboolfalse
Возвращает TileData
GetCollisionVisibilityModeTileMap.VisibilityMode
# GetCollisionVisibilityMode
C#
public TileMap.VisibilityMode GetCollisionVisibilityMode();
Возвращает TileMap.VisibilityMode
GetCoordsForBodyRidVector2I
# GetCoordsForBodyRid
C#
public Vector2I GetCoordsForBodyRid(Rid body);

Возвращает координаты тайла для заданного RID физического тела. Такой RID можно получить из KinematicCollision2D.GetColliderRid при столкновении с тайлом.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает Vector2I
GetLayerForBodyRidint
# GetLayerForBodyRid
C#
public int GetLayerForBodyRid(Rid body);

Возвращает слой тайловой карты тайла для заданного физического тела RID. Такой RID может быть получен из KinematicCollision2D.GetColliderRid при столкновении с тайлом.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает int
GetLayerModulateColor
# GetLayerModulate
C#
public Color GetLayerModulate(int layer);

Возвращает модуляцию слоя TileMap. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает Color
GetLayerNamestring
# GetLayerName
C#
public string GetLayerName(int layer);

Возвращает имя слоя TileMap. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает string
GetLayerNavigationMapRid
# GetLayerNavigationMap
C#
public Rid GetLayerNavigationMap(int layer);

Возвращает Rid навигационной карты NavigationServer2D, назначенной указанному слою TileMap layer. По умолчанию TileMap использует навигационную карту World2D по умолчанию для первого слоя TileMap. Для каждого дополнительного слоя TileMap создается новая навигационная карта для дополнительного слоя. Чтобы заставить NavigationAgent2D переключаться между навигационными картами слоя TileMap, используйте NavigationAgent2D.SetNavigationMap с навигационной картой, полученной из TileMap.GetLayerNavigationMap. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает Rid
GetLayerYSortOriginint
# GetLayerYSortOrigin
C#
public int GetLayerYSortOrigin(int layer);

Возвращает начало сортировки Y слоя TileMap. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает int
GetLayerZIndexint
# GetLayerZIndex
C#
public int GetLayerZIndex(int layer);

Возвращает значение Z-индекса слоя TileMap. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает int
GetLayersCountint
# GetLayersCount
C#
public int GetLayersCount();

Возвращает количество слоев в TileMap.

Возвращает int
GetNavigationMapRid · Устарело
# GetNavigationMap
C#
public Rid GetNavigationMap(int layer);

Возвращает Rid навигационной карты NavigationServer2D, назначенной указанному слою TileMap layer.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает Rid
GetNavigationVisibilityModeTileMap.VisibilityMode
# GetNavigationVisibilityMode
C#
public TileMap.VisibilityMode GetNavigationVisibilityMode();
Возвращает TileMap.VisibilityMode
GetNeighborCellVector2I
# GetNeighborCell
C#
public Vector2I GetNeighborCell(Vector2I coords, TileSet.CellNeighbor neighbor);

Возвращает соседнюю ячейку к ячейке с координатами coords, идентифицированной направлением neighbor. Этот метод учитывает различные макеты, которые может принимать TileMap.

Параметры
ИмяТипПо умолчанию
coordsVector2I—
neighborTileSet.CellNeighbor—
Возвращает Vector2I
GetPatternTileMapPattern
# GetPattern
C#
public TileMapPattern GetPattern(int layer, Reckfell.Collections.Array<Vector2I> coordsArray);

Создает новый TileMapPattern из указанного слоя и набора ячеек. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
coordsArrayReckfell.Collections.Array<Vector2I>—
Возвращает TileMapPattern
GetQuadrantSizeint
# GetQuadrantSize
C#
public int GetQuadrantSize();
Возвращает int
GetRenderingQuadrantSizeint
# GetRenderingQuadrantSize
C#
public int GetRenderingQuadrantSize();
Возвращает int
GetSurroundingCellsReckfell.Collections.Array<Vector2I>
# GetSurroundingCells
C#
public Reckfell.Collections.Array<Vector2I> GetSurroundingCells(Vector2I coords);

Возвращает список всех соседних ячеек для ячейки с coords.

Параметры
ИмяТипПо умолчанию
coordsVector2I—
Возвращает Reckfell.Collections.Array<Vector2I>
GetTilesetTileSet
# GetTileset
C#
public TileSet GetTileset();
Возвращает TileSet
GetUsedCellsReckfell.Collections.Array<Vector2I>
# GetUsedCells
C#
public Reckfell.Collections.Array<Vector2I> GetUsedCells(int layer);

Возвращает массив Vector2I с позициями всех ячеек, содержащих тайл в указанном слое. Ячейка считается пустой, если её идентификатор источника равен -1, координаты атласа — Vector2(-1, -1), а альтернативный идентификатор — -1. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает Reckfell.Collections.Array<Vector2I>
GetUsedCellsByIdReckfell.Collections.Array<Vector2I>
# GetUsedCellsById
C#
public Reckfell.Collections.Array<Vector2I> GetUsedCellsById(int layer, int sourceId = -1, Vector2I? atlasCoords = default, int alternativeTile = -1);

Возвращает массив Vector2I с позициями всех ячеек, содержащих тайл в указанном слое. Тайлы могут быть отфильтрованы по их источнику (source_id), координатам атласа (atlas_coords) или альтернативному идентификатору (alternative_tile). Если параметр имеет значение по умолчанию, он не используется для фильтрации ячеек. Таким образом, если все параметры имеют свои значения по умолчанию, этот метод возвращает тот же результат, что и TileMap.GetUsedCells. Ячейка считается пустой, если её идентификатор источника равен -1, координаты атласа — Vector2(-1, -1), а альтернативный идентификатор — -1. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
sourceIdint-1
atlasCoordsVector2I?default
alternativeTileint-1
atlasCoords

Если параметр не имеет значения, то значение по умолчанию: new Vector2I(-1, -1).

Возвращает Reckfell.Collections.Array<Vector2I>
GetUsedRectRect2I
# GetUsedRect
C#
public Rect2I GetUsedRect();

Возвращает прямоугольник, охватывающий используемые (непустые) фрагменты карты, включая все слои.

Возвращает Rect2I
IsCellFlippedHbool
# IsCellFlippedH
C#
public bool IsCellFlippedH(int layer, Vector2I coords, bool useProxies = false);

Возвращает true, если ячейка на слое layer с координатами coords перевернута по горизонтали. Результат действителен только для источников атласа.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
useProxiesboolfalse
Возвращает bool
IsCellFlippedVbool
# IsCellFlippedV
C#
public bool IsCellFlippedV(int layer, Vector2I coords, bool useProxies = false);

Возвращает true, если ячейка на слое layer с координатами coords перевернута вертикально. Результат действителен только для источников атласа.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
useProxiesboolfalse
Возвращает bool
IsCellTransposedbool
# IsCellTransposed
C#
public bool IsCellTransposed(int layer, Vector2I coords, bool useProxies = false);

Возвращает true, если ячейка на слое layer с координатами coords транспонирована. Результат действителен только для источников атласа.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
useProxiesboolfalse
Возвращает bool
IsCollisionAnimatablebool
# IsCollisionAnimatable
C#
public bool IsCollisionAnimatable();
Возвращает bool
IsLayerEnabledbool
# IsLayerEnabled
C#
public bool IsLayerEnabled(int layer);

Возвращает, включен ли слой. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает bool
IsLayerNavigationEnabledbool
# IsLayerNavigationEnabled
C#
public bool IsLayerNavigationEnabled(int layer);

Возвращает значение, если включена генерация встроенных областей навигации слоя.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает bool
IsLayerYSortEnabledbool
# IsLayerYSortEnabled
C#
public bool IsLayerYSortEnabled(int layer);

Возвращает, сортирует ли слой свои тайлы по оси Y. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
Возвращает bool
LocalToMapVector2I
# LocalToMap
C#
public Vector2I LocalToMap(Vector2 localPosition);

Возвращает координаты карты ячейки, содержащей заданный local_position. Если local_position находится в глобальных координатах, рассмотрите возможность использования Entity2D.ToLocal перед передачей его этому методу. См. также TileMap.MapToLocal.

Параметры
ИмяТипПо умолчанию
localPositionVector2—
Возвращает Vector2I
MapPatternVector2I
# MapPattern
C#
public Vector2I MapPattern(Vector2I positionInTilemap, Vector2I coordsInPattern, TileMapPattern pattern);

Возвращает соответствующие координаты ячейки для заданной координаты coords_in_pattern в TileMapPattern, если шаблон был вставлен по координатам position_in_tilemap (см. TileMap.SetPattern). Это сопоставление необходимо, потому что для фигур тайлов со смещением на половину простое вычисление position_in_tile_map + coords_in_pattern может не сработать.

Параметры
ИмяТипПо умолчанию
positionInTilemapVector2I—
coordsInPatternVector2I—
patternTileMapPattern—
Возвращает Vector2I
MapToLocalVector2
# MapToLocal
C#
public Vector2 MapToLocal(Vector2I mapPosition);

Возвращает центрированную позицию ячейки в локальном пространстве координат TileMap. Для преобразования возвращаемого значения в глобальные координаты используйте Entity2D.ToGlobal. См. также TileMap.LocalToMap. Примечание: Это может не соответствовать визуальной позиции тайла, т.е. игнорируется свойство TileData.TextureOrigin отдельных тайлов.

Параметры
ИмяТипПо умолчанию
mapPositionVector2I—
Возвращает Vector2
MoveLayervoid
# MoveLayer
C#
public void MoveLayer(int layer, int toPosition);

Перемещает слой с индексом layer в заданную позицию to_position в массиве.

Параметры
ИмяТипПо умолчанию
layerint—
toPositionint—
NotifyRuntimeTileDataUpdatevoid
# NotifyRuntimeTileDataUpdate
C#
public void NotifyRuntimeTileDataUpdate(int layer = -1);

Уведомляет узел TileMap, который вызывает TileMap._UseTileDataRuntimeUpdate или TileMap._TileDataRuntimeUpdate, что приведет к разным результатам. Таким образом, это вызовет обновление TileMap. Если указан layer, уведомляет только об изменениях для указанного слоя. Предоставление аргумента layer (когда применимо) обычно предпочтительнее по соображениям производительности. Предупреждение: Обновление TileMap требует больших вычислительных затрат и может повлиять на производительность. Постарайтесь ограничить количество вызовов этой функции, чтобы избежать ненужного обновления. Примечание: Это не запускает прямое обновление TileMap, обновление будет выполнено в конце кадра, как обычно (если вы не вызовете TileMap.UpdateInternals).

Параметры
ИмяТипПо умолчанию
layerint-1
RemoveLayervoid
# RemoveLayer
C#
public void RemoveLayer(int layer);

Удаляет слой с индексом layer.

Параметры
ИмяТипПо умолчанию
layerint—
SetCellvoid
# SetCell
C#
public void SetCell(int layer, Vector2I coords, int sourceId = -1, Vector2I? atlasCoords = default, int alternativeTile = 0);

Устанавливает идентификаторы тайла для ячейки в слое layer по координатам coords. Каждый тайл TileSet идентифицируется тремя частями:

  • Идентификатор источника source_id определяет источник TileSetSource. См. TileSet.SetSourceId,
  • Идентификатор координат атласа atlas_coords определяет координаты тайла в атласе (если источник — TileSetAtlasSource). Для TileSetScenesCollectionSource всегда должно быть Vector2i(0, 0)),
  • Идентификатор альтернативного тайла alternative_tile определяет альтернативу тайла в атласе (если источник — TileSetAtlasSource) или сцену для TileSetScenesCollectionSource. Если source_id установлен в -1, atlas_coords — в Vector2i(-1, -1) или alternative_tile — в -1, ячейка стирается. Удалённая ячейка получает все свои идентификаторы автоматически установленными в недействительные значения: -1, Vector2i(-1, -1) и -1. Если layer отрицательный, слои перебираются с последнего.
Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
sourceIdint-1
atlasCoordsVector2I?default
alternativeTileint0
atlasCoords

Если параметр не имеет значения, то значение по умолчанию: new Vector2I(-1, -1).

SetCellsTerrainConnectvoid
# SetCellsTerrainConnect
C#
public void SetCellsTerrainConnect(int layer, Reckfell.Collections.Array<Vector2I> cells, int terrainSet, int terrain, bool ignoreEmptyTerrains = true);

Обновляет все ячейки в массиве координат cells, чтобы они использовали заданный terrain для указанного terrain_set. Если обновлённая ячейка имеет тот же террейн, что и соседняя, функция попытается объединить их. При необходимости функция может обновить соседние тайлы для создания корректных переходов между террейнами. Если ignore_empty_terrains равно true, пустые террейны будут игнорироваться при поиске наиболее подходящего тайла под заданные ограничения террейнов. Если layer отрицательный, слои перебираются с последнего. Примечание: Для корректной работы требуется, чтобы TileSet в TileMap имел настроенные террейны со всеми необходимыми комбинациями террейнов. В противном случае могут возникать непредвиденные результаты.

Параметры
ИмяТипПо умолчанию
layerint—
cellsReckfell.Collections.Array<Vector2I>—
terrainSetint—
terrainint—
ignoreEmptyTerrainsbooltrue
SetCellsTerrainPathvoid
# SetCellsTerrainPath
C#
public void SetCellsTerrainPath(int layer, Reckfell.Collections.Array<Vector2I> path, int terrainSet, int terrain, bool ignoreEmptyTerrains = true);

Обновляет все ячейки в массиве координат path, чтобы они использовали заданный terrain для указанного terrain_set. Функция также соединит две последовательные ячейки в пути с одинаковым террейном. При необходимости функция может обновить соседние тайлы для создания корректных переходов между террейнами. Если ignore_empty_terrains равно true, пустые террейны будут игнорироваться при поиске наиболее подходящего тайла под заданные ограничения террейнов. Если layer отрицательный, слои перебираются с последнего. Примечание: Для корректной работы требуется, чтобы TileSet в TileMap имел настроенные террейны со всеми необходимыми комбинациями террейнов. В противном случае могут возникать непредвиденные результаты.

Параметры
ИмяТипПо умолчанию
layerint—
pathReckfell.Collections.Array<Vector2I>—
terrainSetint—
terrainint—
ignoreEmptyTerrainsbooltrue
SetCollisionAnimatablevoid
# SetCollisionAnimatable
C#
public void SetCollisionAnimatable(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetCollisionVisibilityModevoid
# SetCollisionVisibilityMode
C#
public void SetCollisionVisibilityMode(TileMap.VisibilityMode collisionVisibilityMode);
Параметры
ИмяТипПо умолчанию
collisionVisibilityModeTileMap.VisibilityMode—
SetLayerEnabledvoid
# SetLayerEnabled
C#
public void SetLayerEnabled(int layer, bool enabled);

Включает или отключает слой layer. Отключенный слой вообще не обрабатывается (нет рендеринга, нет физики и т. д.). Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
enabledbool—
SetLayerModulatevoid
# SetLayerModulate
C#
public void SetLayerModulate(int layer, Color modulate);

Устанавливает цвет слоя. Он будет умножен на цвет тайла и модуляцию TileMap. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
modulateColor—
SetLayerNamevoid
# SetLayerName
C#
public void SetLayerName(int layer, string name);

Задает имя слоя. Это в основном полезно в редакторе. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
namestring—
SetLayerNavigationEnabledvoid
# SetLayerNavigationEnabled
C#
public void SetLayerNavigationEnabled(int layer, bool enabled);

Включает или отключает встроенную генерацию областей навигации слоя. Отключите это, если вам нужно запекать области навигации из TileMap с использованием узла NavigationRegion2D.

Параметры
ИмяТипПо умолчанию
layerint—
enabledbool—
SetLayerNavigationMapvoid
# SetLayerNavigationMap
C#
public void SetLayerNavigationMap(int layer, Rid map);

Назначает map как навигационную карту NavigationServer2D для указанного слоя TileMap layer. По умолчанию TileMap использует навигационную карту по умолчанию World2D для первого слоя TileMap. Для каждого дополнительного слоя TileMap создается новая навигационная карта для дополнительного слоя. Чтобы NavigationAgent2D переключался между навигационными картами слоя TileMap, используйте NavigationAgent2D.SetNavigationMap с навигационной картой, полученной из TileMap.GetLayerNavigationMap. Если layer отрицательный, доступ к слоям осуществляется с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
mapRid—
SetLayerYSortEnabledvoid
# SetLayerYSortEnabled
C#
public void SetLayerYSortEnabled(int layer, bool ySortEnabled);

Включает или выключает сортировку слоя по оси Y. Если слой сортируется по оси Y, он будет вести себя как узел CanvasItem, в котором каждый тайл сортируется по оси Y. Слои с сортировкой по оси Y обычно должны находиться на разных значениях Z-индекса по сравнению со слоями без сортировки по оси Y, иначе каждый из таких слоев будет сортироваться по оси Y целиком вместе с сортируемым слоем. Обычно это нежелательное поведение. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
ySortEnabledbool—
SetLayerYSortOriginvoid
# SetLayerYSortOrigin
C#
public void SetLayerYSortOrigin(int layer, int ySortOrigin);

Устанавливает значение точки отсчёта сортировки по Y для слоя. Это значение добавляется к точке отсчёта сортировки каждого тайла в слое. Это позволяет, например, имитировать разную высоту для каждого слоя. Может быть полезно для игр с видом сверху. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
ySortOriginint—
SetLayerZIndexvoid
# SetLayerZIndex
C#
public void SetLayerZIndex(int layer, int zIndex);

Устанавливает значение Z-индекса слоя. Это значение Z-индекса добавляется к значению Z-индекса каждого тайла. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
zIndexint—
SetNavigationMapvoid · Устарело
# SetNavigationMap
C#
public void SetNavigationMap(int layer, Rid map);

Назначает map в качестве навигационной карты NavigationServer2D для указанного слоя TileMap layer.

Параметры
ИмяТипПо умолчанию
layerint—
mapRid—
SetNavigationVisibilityModevoid
# SetNavigationVisibilityMode
C#
public void SetNavigationVisibilityMode(TileMap.VisibilityMode navigationVisibilityMode);
Параметры
ИмяТипПо умолчанию
navigationVisibilityModeTileMap.VisibilityMode—
SetPatternvoid
# SetPattern
C#
public void SetPattern(int layer, Vector2I position, TileMapPattern pattern);

Вставляет заданный TileMapPattern в указанную позицию position и слой layer в tilemap. Если layer отрицательный, слои перебираются с последнего.

Параметры
ИмяТипПо умолчанию
layerint—
positionVector2I—
patternTileMapPattern—
SetQuadrantSizevoid
# SetQuadrantSize
C#
public void SetQuadrantSize(int quadrantSize);
Параметры
ИмяТипПо умолчанию
quadrantSizeint—
SetRenderingQuadrantSizevoid
# SetRenderingQuadrantSize
C#
public void SetRenderingQuadrantSize(int size);
Параметры
ИмяТипПо умолчанию
sizeint—
SetTilesetvoid
# SetTileset
C#
public void SetTileset(TileSet tileset);
Параметры
ИмяТипПо умолчанию
tilesetTileSet—
UpdateInternalsvoid
# UpdateInternals
C#
public void UpdateInternals();

Запускает прямое обновление TileMap. Обычно вызов этой функции не требуется, так как узел TileMap обновляется автоматически при изменении одного из его свойств или ячеек. Однако по соображениям производительности эти обновления пакетируются и задерживаются до конца кадра. Вызов этой функции заставит TileMap обновиться немедленно. Предупреждение: Обновление TileMap требует больших вычислительных затрат и может повлиять на производительность. Попробуйте ограничить количество обновлений и количество плиток, на которые они влияют.

_TileDataRuntimeUpdatevoid
# _TileDataRuntimeUpdate
C#
public virtual void _TileDataRuntimeUpdate(int layer, Vector2I coords, TileData tileData);

Вызывается с объектом TileData, который будет использоваться внутри TileMap, что позволяет изменять его во время выполнения. Этот метод вызывается только в том случае, если реализован TileMap._UseTileDataRuntimeUpdate и возвращает true для заданных плиток coords и layer. Предупреждение: Подресурсы объекта tile_data такие же, как в TileSet. Их изменение может повлиять на весь TileSet. Вместо этого обязательно дублируйте эти ресурсы. Примечание: Если свойства объекта tile_data должны со временем измениться, используйте TileMap.NotifyRuntimeTileDataUpdate, чтобы уведомить TileMap о необходимости обновления.

####use_til_data_reuntime update

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
tileDataTileData—
_UseTileDataRuntimeUpdatebool
# _UseTileDataRuntimeUpdate
C#
public virtual bool _UseTileDataRuntimeUpdate(int layer, Vector2I coords);

Должен возвращать true, если тайл с координатами coords на слое layer требует обновления во время выполнения. Предупреждение: Убедитесь, что эта функция возвращает true только при необходимости. Любой тайл, обработанный во время выполнения без необходимости, будет означать значительное падение производительности. Примечание: Если результат этой функции должен измениться, используйте TileMap.NotifyRuntimeTileDataUpdate, чтобы уведомить TileMap о необходимости обновления.

Параметры
ИмяТипПо умолчанию
layerint—
coordsVector2I—
Возвращает bool

Сигналы и события1

ChangedСобытие
# Changed
C#
public event Action Changed;

Вызывается при изменении TileSet данного TileMap.

TileMap.VisibilityMode

ЗначениеОписание
Default = 0

Используйте настройки отладки для определения видимости.

ForceHide = 2

Всегда скрывается.

ForceShow = 1

Всегда показывается.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.