Class TileSetScenesCollectionSource
Exposes a set of scenes as tiles for a TileSet resource.
- Inheritance
-
TileSetScenesCollectionSource
Remarks
When placed on a TileMap, tiles from TileSetScenesCollectionSource will automatically instantiate an associated scene at the cell's position in the TileMap.
Scenes are instantiated as children of the TileMap when it enters the tree. If you add/remove a scene tile in the TileMap that is already inside the tree, the TileMap will automatically instantiate/free the scene accordingly.
Note: Scene tiles all occupy one tile slot and instead use alternate tile ID to identify scene index. get_tiles_count will always return 1
. Use get_scene_tiles_count to get a number of scenes in a TileSetScenesCollectionSource.
Use this code if you want to find the scene path at a given tile in 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)
Methods
create_scene_tile(PackedScene, int)
Creates a scene-based tile out of the given scene.
Returns a newly generated unique ID.
int create_scene_tile(PackedScene packed_scene, int id_override)
Parameters
packed_scene
PackedSceneid_override
int
get_next_scene_tile_id
Qualifiers: const
Returns the scene ID a following call to TileSetScenesCollectionSource.create_scene_tile would return.
int get_next_scene_tile_id
get_scene_tile_display_placeholder(int)
Qualifiers: const
Returns whether the scene tile with id
displays a placeholder in the editor.
bool get_scene_tile_display_placeholder(int id)
Parameters
id
int
get_scene_tile_id(int)
Returns the scene tile ID of the scene tile at index
.
int get_scene_tile_id(int index)
Parameters
index
int
get_scene_tile_scene(int)
Qualifiers: const
Returns the PackedScene resource of scene tile with id
.
PackedScene get_scene_tile_scene(int id)
Parameters
id
int
get_scene_tiles_count
Returns the number or scene tiles this TileSet source has.
int get_scene_tiles_count
has_scene_tile_id(int)
Returns whether this TileSet source has a scene tile with id
.
bool has_scene_tile_id(int id)
Parameters
id
int
remove_scene_tile(int)
Remove the scene tile with id
.
void remove_scene_tile(int id)
Parameters
id
int
set_scene_tile_display_placeholder(int, bool)
Sets whether or not the scene tile with id
should display a placeholder in the editor. This might be useful for scenes that are not visible.
void set_scene_tile_display_placeholder(int id, bool display_placeholder)
Parameters
set_scene_tile_id(int, int)
Changes a scene tile's ID from id
to new_id
. This will fail if there is already a tile with an ID equal to new_id
.
void set_scene_tile_id(int id, int new_id)
Parameters
set_scene_tile_scene(int, PackedScene)
Assigns a PackedScene resource to the scene tile with id
. This will fail if the scene does not extend CanvasItem, as positioning properties are needed to place the scene on the TileMap.
void set_scene_tile_scene(int id, PackedScene packed_scene)
Parameters
id
intpacked_scene
PackedScene