reckfellENGINE

TileMapLayer

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

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

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

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

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

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

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

Свойства13

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

Включить или отключить столкновения.

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

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

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

Если false, полностью отключает этот TileMapLayer (рендеринг, столкновения, навигацию, тайлы сцены и т. д.)

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

Если true, области навигации включены.

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

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

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

Включить или отключить окклюзию света.

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

Размер физического квадранта TileMapLayer. Внутри физического квадранта ячейки со схожими физическими свойствами группируются вместе, и их формы столкновений объединяются. TileMapLayer.PhysicsQuadrantSize определяет длину стороны квадрата в системе координат карты, которая образует квадрант. Таким образом, размер квадранта по умолчанию группирует 16 * 16 = 256 тайлов. Примечание: Поскольку квадранты создаются в соответствии с системой координат карты, «квадратная форма» квадранта может не выглядеть как квадрат в локальной системе координат TileMapLayer. Примечание: Это влияет на значение, возвращаемое TileMapLayer.GetCoordsForBodyRid. Более высокие значения сделают эту функцию менее точной. Чтобы получить точные координаты ячейки, необходимо установить параметр TileMapLayer.PhysicsQuadrantSize равным 1, что отключает разбиение физических ячеек на блоки.

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

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

TileMapDataСвойство
# TileMapData
C#
public byte[] TileMapData { get; set; }

Бинарные данные клеток, без самого TileSet и его текстур. В формате проверенной версии координаты записываются как знаковые 16-битные числа: сохраняйте их в [-32768,32767]. Клетка (40000,0) существует во время работы, но после сохранения и загрузки становится (-25536,0). Не считайте этот массив универсальным долговременным форматом сейва; сохраняйте привязку к нужному TileSet и версию своей схемы.

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

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

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

Если true, то формы столкновений TileMapLayer будут инстанцированы как кинематические тела. Это может понадобиться для перемещения узлов TileMapLayer (т. е. перемещения платформ).

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

Если CanvasItem.YSortEnabled включен, установка этого параметра в true изменит порядок отрисовки плиток на оси X на обратный.

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

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

Методы59

Clearvoid
# Clear
C#
public void Clear();

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

EraseCellvoid
# EraseCell
C#
public void EraseCell(Vector2I coords);

Стирает ячейку с координатами coords.

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

Очищает ячейки, содержащие тайлы, которые не существуют в TileMapLayer.TileSet.

GetCellAlternativeTileint
# GetCellAlternativeTile
C#
public int GetCellAlternativeTile(Vector2I coords);

Возвращает идентификатор альтернативного тайла ячейки по координатам coords.

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

Возвращает идентификатор координат атласа тайла ячейки с координатами coords. Возвращает Vector2i(-1, -1), если ячейка не существует.

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

Возвращает идентификатор источника тайла ячейки с координатами coords. Возвращает -1, если ячейка не существует.

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

Читает TileData для действительной atlas-клетки. Это данные тайла в общем TileSet, не уникальное изменяемое состояние экземпляра клетки. Перед использованием назначьте TileSet и проверьте наличие клетки.

Параметры
ИмяТипПо умолчанию
coordsVector2I—
coords

Координата клетки в сетке слоя.

Возвращает TileData

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

GetCollisionVisibilityModeTileMapLayer.DebugVisibilityMode
# GetCollisionVisibilityMode
C#
public TileMapLayer.DebugVisibilityMode GetCollisionVisibilityMode();
Возвращает TileMapLayer.DebugVisibilityMode
GetCoordsForBodyRidVector2I
# GetCoordsForBodyRid
C#
public Vector2I GetCoordsForBodyRid(Rid body);

Возвращает координаты физического квадранта (см. TileMapLayer.PhysicsQuadrantSize) для заданного физического тела Rid. Такой Rid можно получить из KinematicCollision2D.GetColliderRid при столкновении с тайлом. Примечание: Более высокие значения TileMapLayer.PhysicsQuadrantSize сделают эту функцию менее точной. Чтобы получить точные координаты ячейки, необходимо установить TileMapLayer.PhysicsQuadrantSize равным 1, что отключает разбиение физического тела на блоки.

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

Возвращает Rid навигации NavigationServer2D, используемой этим TileMapLayer. По умолчанию возвращается карта навигации World2D по умолчанию, если только пользовательская карта не была предоставлена с помощью TileMapLayer.SetNavigationMap.

Возвращает Rid
GetNavigationVisibilityModeTileMapLayer.DebugVisibilityMode
# GetNavigationVisibilityMode
C#
public TileMapLayer.DebugVisibilityMode GetNavigationVisibilityMode();
Возвращает TileMapLayer.DebugVisibilityMode
GetNeighborCellVector2I
# GetNeighborCell
C#
public Vector2I GetNeighborCell(Vector2I coords, TileSet.CellNeighbor neighbor);

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

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

Создает и возвращает новый TileMapPattern из указанного массива ячеек. См. также TileMapLayer.SetPattern.

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

Возвращает список всех соседних ячеек для ячейки с coords. Любая соседняя ячейка — это та, которая касается краев, поэтому для квадратной ячейки будет возвращено 4 ячейки, для шестиугольника — 6 ячеек.

Параметры
ИмяТипПо умолчанию
coordsVector2I—
Возвращает Reckfell.Collections.Array<Vector2I>
GetTileMapDataAsArraybyte[]
# GetTileMapDataAsArray
C#
public byte[] GetTileMapDataAsArray();
Возвращает byte[]
GetTileSetTileSet
# GetTileSet
C#
public TileSet GetTileSet();
Возвращает TileSet
GetUsedCellsReckfell.Collections.Array<Vector2I>
# GetUsedCells
C#
public Reckfell.Collections.Array<Vector2I> GetUsedCells();

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

Возвращает Reckfell.Collections.Array<Vector2I>
GetUsedCellsByIdReckfell.Collections.Array<Vector2I>
# GetUsedCellsById
C#
public Reckfell.Collections.Array<Vector2I> GetUsedCellsById(int sourceId = -1, Vector2I? atlasCoords = default, int alternativeTile = -1);

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

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

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

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

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

Возвращает Rect2I

Rect2I по клеткам; пустой прямоугольник, если клеток нет. Карта 20×15 с координатами от (0,0) до (19,14) даёт позицию (0,0) и размер (20,15).

GetYSortOriginint
# GetYSortOrigin
C#
public int GetYSortOrigin();
Возвращает int
HasBodyRidbool
# HasBodyRid
C#
public bool HasBodyRid(Rid body);

Возвращает, принадлежит ли предоставленный body Rid одной из ячеек TileMapLayer.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает bool
IsCellFlippedHbool
# IsCellFlippedH
C#
public bool IsCellFlippedH(Vector2I coords);

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

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

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

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

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

Параметры
ИмяТипПо умолчанию
coordsVector2I—
Возвращает bool
IsCollisionEnabledbool
# IsCollisionEnabled
C#
public bool IsCollisionEnabled();
Возвращает bool
IsEnabledbool
# IsEnabled
C#
public bool IsEnabled();
Возвращает bool
IsNavigationEnabledbool
# IsNavigationEnabled
C#
public bool IsNavigationEnabled();
Возвращает bool
IsOcclusionEnabledbool
# IsOcclusionEnabled
C#
public bool IsOcclusionEnabled();
Возвращает bool
IsUsingKinematicBodiesbool
# IsUsingKinematicBodies
C#
public bool IsUsingKinematicBodies();
Возвращает bool
IsXDrawOrderReversedbool
# IsXDrawOrderReversed
C#
public bool IsXDrawOrderReversed();
Возвращает bool
LocalToMapVector2I
# LocalToMap
C#
public Vector2I LocalToMap(Vector2 localPosition);

Находит клетку по локальной позиции слоя. Для canvas-позиции сначала вызовите ToLocal. Не заменяйте преобразование приведением деления к int: отрицательные значения и другие раскладки дают иной результат.

Параметры
ИмяТипПо умолчанию
localPositionVector2—
localPosition

Позиция в локальных координатах TileMapLayer, не InputEvent.Position напрямую.

Возвращает Vector2I

Координата клетки. На квадратной сетке 16×16 локальная точка (-1,-1) относится к клетке (-1,-1).

MapPatternVector2I
# MapPattern
C#
public Vector2I MapPattern(Vector2I positionInTilemap, Vector2I coordsInPattern, TileMapPattern pattern);

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

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

Переводит координаты сетки в центр клетки относительно TileMapLayer. Учитывает форму и раскладку TileSet, но не трансформацию Entity в canvas и не смещение изображения TileData.TextureOrigin.

Параметры
ИмяТипПо умолчанию
mapPositionVector2I—
mapPosition

Целочисленная координата клетки.

Возвращает Vector2

Локальная позиция центра. Для квадратной сетки 16×16 клетка (2,3) даёт (40,56). Для canvas-позиции примените ToGlobal.

NotifyRuntimeTileDataUpdatevoid
# NotifyRuntimeTileDataUpdate
C#
public void NotifyRuntimeTileDataUpdate();

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

SetCellvoid
# SetCell
C#
public void SetCell(Vector2I coords, int sourceId = -1, Vector2I? atlasCoords = default, int alternativeTile = 0);

Задаёт ссылку клетки на тайл: sourceId, atlasCoords и alternativeTile. Передавайте все нужные идентификаторы явно. Если один из них равен недопустимому значению, клетка становится пустой. Логические данные меняются сразу, а пакеты отрисовки/физики обновляются отложенно.

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

Целочисленные координаты клетки в сетке слоя, не пиксели и не координаты атласа.

sourceId

ID источника в TileSet. По умолчанию -1, что удаляет тайл. ID источника и координаты изображения — разные значения.

atlasCoords

Координаты тайла в сетке атласа. Значение по умолчанию соответствует недопустимым (-1,-1), а не Vector2I.Zero. Поэтому SetCell(coords, 0) очищает клетку вместо выбора первого тайла.

alternativeTile

ID альтернативы; 0 — базовый вариант. Для atlas-источника также могут использоваться предусмотренные transform-флаги. Значение -1 делает клетку пустой.

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

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

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

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

Параметры
ИмяТипПо умолчанию
pathReckfell.Collections.Array<Vector2I>—
terrainSetint—
terrainint—
ignoreEmptyTerrainsbooltrue
SetCollisionEnabledvoid
# SetCollisionEnabled
C#
public void SetCollisionEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetCollisionVisibilityModevoid
# SetCollisionVisibilityMode
C#
public void SetCollisionVisibilityMode(TileMapLayer.DebugVisibilityMode visibilityMode);
Параметры
ИмяТипПо умолчанию
visibilityModeTileMapLayer.DebugVisibilityMode—
SetEnabledvoid
# SetEnabled
C#
public void SetEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetNavigationEnabledvoid
# SetNavigationEnabled
C#
public void SetNavigationEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetNavigationMapvoid
# SetNavigationMap
C#
public void SetNavigationMap(Rid map);

Устанавливает пользовательскую map как навигационную карту NavigationServer2D. Если не установлено, вместо этого используется навигационная карта по умолчанию World2D.

Параметры
ИмяТипПо умолчанию
mapRid—
SetNavigationVisibilityModevoid
# SetNavigationVisibilityMode
C#
public void SetNavigationVisibilityMode(TileMapLayer.DebugVisibilityMode showNavigation);
Параметры
ИмяТипПо умолчанию
showNavigationTileMapLayer.DebugVisibilityMode—
SetOcclusionEnabledvoid
# SetOcclusionEnabled
C#
public void SetOcclusionEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetPatternvoid
# SetPattern
C#
public void SetPattern(Vector2I position, TileMapPattern pattern);

Вставляет TileMapPattern в указанную position на карте тайлов. См. также TileMapLayer.GetPattern.

Параметры
ИмяТипПо умолчанию
positionVector2I—
patternTileMapPattern—
SetPhysicsQuadrantSizevoid
# SetPhysicsQuadrantSize
C#
public void SetPhysicsQuadrantSize(int size);
Параметры
ИмяТипПо умолчанию
sizeint—
SetRenderingQuadrantSizevoid
# SetRenderingQuadrantSize
C#
public void SetRenderingQuadrantSize(int size);
Параметры
ИмяТипПо умолчанию
sizeint—
SetTileMapDataFromArray2 перегрузки
# SetTileMapDataFromArray · 1/2
C#
public void SetTileMapDataFromArray(byte[] tileMapLayerData);
Параметры
ИмяТипПо умолчанию
tileMapLayerDatabyte[]—
# SetTileMapDataFromArray · 2/2
C#
public void SetTileMapDataFromArray(ReadOnlySpan<byte> tileMapLayerData);
Параметры
ИмяТипПо умолчанию
tileMapLayerDataReadOnlySpan<byte>—
SetTileSetvoid
# SetTileSet
C#
public void SetTileSet(TileSet tileSet);
Параметры
ИмяТипПо умолчанию
tileSetTileSet—
SetUseKinematicBodiesvoid
# SetUseKinematicBodies
C#
public void SetUseKinematicBodies(bool useKinematicBodies);
Параметры
ИмяТипПо умолчанию
useKinematicBodiesbool—
SetXDrawOrderReversedvoid
# SetXDrawOrderReversed
C#
public void SetXDrawOrderReversed(bool xDrawOrderReversed);
Параметры
ИмяТипПо умолчанию
xDrawOrderReversedbool—
SetYSortOriginvoid
# SetYSortOrigin
C#
public void SetYSortOrigin(int ySortOrigin);
Параметры
ИмяТипПо умолчанию
ySortOriginint—
UpdateInternalsvoid
# UpdateInternals
C#
public void UpdateInternals();

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

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

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

Параметры
ИмяТипПо умолчанию
coordsVector2I—
tileDataTileData—
_UpdateCellsvoid
# _UpdateCells
C#
public virtual void _UpdateCells(Reckfell.Collections.Array<Vector2I> coords, bool forcedCleanup);

Позвонил, когда это TileMapLayer's клетки нуждаются во внутреннем обновлении. Это обновление может быть вызвано модификацией отдельных клеток или изменением TileMapLayer.TileSet (приведение всех клеток в очередь для обновления). Первый вызов к этой функции всегда для инициализации всех TileMapLayerКлетки. coords содержит координаты всех модифицированных клеток, примерно в том порядке, в котором они были изменены. forced_cleanup это true когда TileMapLayerВнутренности должны быть полностью очищены.

  • Слой выключен;
  • Слой не виден;
  • TileMapLayer.TileSet установлен следующим образом: null;
  • Узел удаляется с дерева;
  • Узел свободен. Следует отметить, что любое внутреннее обновление данных в период проверки одного из этих условий считается "очисткой". TileMapLayer.UpdateInternals. Предупреждение: Применение этого метода может привести к деградации TileMapLayer- Это представление.

####use_til_data_reuntime update

Параметры
ИмяТипПо умолчанию
coordsReckfell.Collections.Array<Vector2I>—
forcedCleanupbool—
_UseTileDataRuntimeUpdatebool
# _UseTileDataRuntimeUpdate
C#
public virtual bool _UseTileDataRuntimeUpdate(Vector2I coords);

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

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

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

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

Разрешено, когда это TileMapLayer" изменения в свойствах, включая изменения в присвоении TileSet. Примечание: Этот сигнал может излучаться очень часто, когда партия модифицирует TileMapLayer. Избегать осуществления сложной обработки в рамках соединенной функции и рассмотреть вопрос о ее переносе на конец рамы (т.е. ReckfellObject.CallDeferred).

TileMapLayer.DebugVisibilityMode

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

Скройте формы отладки столкновений или навигации в редакторе и используйте настройки отладки, чтобы определить их видимость в игре (например, EntityTree.DebugCollisionsHint или EntityTree.DebugNavigationHint).

ForceHide = 2

Всегда скрывайте формы отладки столкновений или навигации.

ForceShow = 1

Всегда показывать формы отладки столкновений или навигации.

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

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

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

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