TileSetScenesCollectionSource
Предоставляет набор сцен в виде плиток для ресурса TileSet.
Предоставляет набор сцен в виде плиток для ресурса TileSet.
При размещении на TileMapLayer плитки из TileSetScenesCollectionSource автоматически создают экземпляр связанной сцены в позиции ячейки в TileMapLayer.
Сцены создаются как дочерние элементы TileMapLayer после того, как он попадает в дерево, в конце кадра (их создание откладывается). Если вы добавляете/удаляете плитку сцены в TileMapLayer, которая уже находится внутри дерева, TileMapLayer автоматически создаст/освободит сцену соответствующим образом.
Примечание: Все плитки сцены занимают один слот плитки и вместо этого используют альтернативный идентификатор плитки для определения индекса сцены. TileSetSource.GetTilesCount всегда будет возвращать 1. Используйте TileSetScenesCollectionSource.GetSceneTilesCount для получения количества сцен в TileSetScenesCollectionSource.
Используйте этот код, если вы хотите найти путь сцены на заданном тайле в TileMapLayer:
int sourceId = tileMapLayer.GetCellSourceId(new Vector2I(x, y));
if (sourceId > -1)
{
TileSetSource source = tileMapLayer.TileSet.GetSource(sourceId);
if (source is TileSetScenesCollectionSource sceneSource)
{
int altId = tileMapLayer.GetCellAlternativeTile(new Vector2I(x, y));
// The assigned PackedEntity.
PackedEntity scene = sceneSource.GetSceneTileScene(altId);
}
}Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
TileSetScenesCollectionSourceКонструктор
public TileSetScenesCollectionSource();Методы11
CreateSceneTileint
public int CreateSceneTile(PackedEntity packedScene, int idOverride = -1);Создает тайл на основе сцены из заданной сцены. Возвращает новый сгенерированный уникальный идентификатор.
| Имя | Тип | По умолчанию |
|---|---|---|
packedScene | PackedEntity | — |
idOverride | int | -1 |
intGetNextSceneTileIdint
public int GetNextSceneTileId();Возвращает идентификатор сцены, который вернет следующий вызов TileSetScenesCollectionSource.CreateSceneTile.
intGetSceneTileDisplayPlaceholderbool
public bool GetSceneTileDisplayPlaceholder(int id);Возвращает, отображает ли тайл-сцена с идентификатором id заполнитель в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
boolGetSceneTileIdint
public int GetSceneTileId(int index);Возвращает идентификатор фрагмента сцены для фрагмента сцены по адресу index.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
intGetSceneTileScenePackedEntity
public PackedEntity GetSceneTileScene(int id);Возвращает ресурс PackedEntity тайла-сцены с id.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
PackedEntityGetSceneTilesCountint
public int GetSceneTilesCount();Возвращает количество плиток сцены, имеющихся в этом источнике TileSet.
intHasSceneTileIdbool
public bool HasSceneTileId(int id);Возвращает, имеет ли этот источник TileSet тайл-сцены с id.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
boolRemoveSceneTilevoid
public void RemoveSceneTile(int id);Удалить тайл-сцену с id.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
SetSceneTileDisplayPlaceholdervoid
public void SetSceneTileDisplayPlaceholder(int id, bool displayPlaceholder);Устанавливает, должен ли тайл-сцена с id отображать заполнитель в редакторе. Это может быть полезно для сцен, которые не видны.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
displayPlaceholder | bool | — |
SetSceneTileIdvoid
public void SetSceneTileId(int id, int newId);Изменяет идентификатор тайла-сцены с id на new_id. Это завершится ошибкой, если уже есть тайл с идентификатором, равным new_id.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
newId | int | — |
SetSceneTileScenevoid
public void SetSceneTileScene(int id, PackedEntity packedScene);Назначает ресурс PackedEntity тайлу-сцене с id. Это не сработает, если сцена не расширяет CanvasItem, поскольку для размещения сцены на TileMapLayer необходимы свойства позиционирования.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
packedScene | PackedEntity | — |