TileSetScenesCollectionSource

Успадковує: TileSetSource < Resource < RefCounted < Object

Експолює набір сцен, як плитка для ресурсу TileSet.

Опис

При розміщенні на TileMapLayer, плитки з TileSetScenesCollectionSource автоматично створять екземпляр пов'язаної сцени в позиції комірки в TileMapLayer.

Сцени створюються як дочірні елементи TileMapLayer після того, як він потрапляє в дерево, в кінці кадру (їхнє створення відкладається). Якщо ви додаєте/видаляєте плитку сцени в TileMapLayer, яка вже знаходиться всередині дерева, TileMapLayer автоматично створить/звільнить сцену відповідно.

Примітка: Плитки сцен займають один слот плитки та натомість використовують альтернативний ідентифікатор плитки для ідентифікації індексу сцени. TileSetSource.get_tiles_count() завжди повертатиме 1. Використовуйте get_scene_tiles_count(), щоб отримати кількість сцен у TileSetScenesCollectionSource.

Використовуйте цей код, якщо ви хочете знайти шлях сцени на заданій плитці в TileMapLayer:

var source_id = tile_map_layer.get_cell_source_id(Vector2i(x, y))
if source_id > -1:
    var scene_source = tile_map_layer.tile_set.get_source(source_id)
    if scene_source is TileSetScenesCollectionSource:
        var alt_id = tile_map_layer.get_cell_alternative_tile(Vector2i(x, y))
        # The assigned PackedScene.
        var scene = scene_source.get_scene_tile_scene(alt_id)

Методи

int

create_scene_tile(packed_scene: PackedScene, id_override: int = -1)

int

get_next_scene_tile_id() const

bool

get_scene_tile_display_placeholder(id: int) const

int

get_scene_tile_id(index: int)

PackedScene

get_scene_tile_scene(id: int) const

int

get_scene_tiles_count()

bool

has_scene_tile_id(id: int)

void

remove_scene_tile(id: int)

void

set_scene_tile_display_placeholder(id: int, display_placeholder: bool)

void

set_scene_tile_id(id: int, new_id: int)

void

set_scene_tile_scene(id: int, packed_scene: PackedScene)


Описи методів

int create_scene_tile(packed_scene: PackedScene, id_override: int = -1) 🔗

Створює сценографічну плитку з даної сцени.

Повернутися до новоствореного ID.


int get_next_scene_tile_id() const 🔗

Повертаємо вашу увагу на те, що у вас є наступний виклик.


bool get_scene_tile_display_placeholder(id: int) const 🔗

Повертаємо вашу увагу на те, що кахельна плитка з id відображає власника місця в редакторі.


int get_scene_tile_id(index: int) 🔗

Повертає ідентифікатор плитки сцени за адресою index.


PackedScene get_scene_tile_scene(id: int) const 🔗

Повернення PackedScene ресурс сценової плитки з id.


int get_scene_tiles_count() 🔗

Повертає кількість або сцена плитки це джерело TileSet.


bool has_scene_tile_id(id: int) 🔗

Повертає, чи є це джерело TileSet має сцену плитку id.


void remove_scene_tile(id: int) 🔗

Видаліть сцену плитку id.


void set_scene_tile_display_placeholder(id: int, display_placeholder: bool) 🔗

Налаштовує, чи не на сцені плитка з id повинна відображатися власник місця в редакторі. Це може бути корисним для сцени, які не видно.


void set_scene_tile_id(id: int, new_id: int) 🔗

Змінює ідентифікатор плитки сцени з id на new_id. Це не вдасться, якщо вже існує плитка з ідентифікатором, що дорівнює new_id.


void set_scene_tile_scene(id: int, packed_scene: PackedScene) 🔗

Призначає ресурс PackedScene плитці сцени з id. Це не вдасться, якщо сцена не розширює CanvasItem, оскільки для розміщення сцени на TileMapLay потрібні властивості позиціонування.