Merge pull request #80658 from Sch1nken/tilemap-erase-scenes
TileMap: Check for possible scenes to be erased
This commit is contained in:
commit
ed81c93be7
|
@ -1839,6 +1839,17 @@ void TileMapLayer::set_cell(const Vector2i &p_coords, int p_source_id, const Vec
|
|||
ERR_FAIL_COND(!Q);
|
||||
TileMapQuadrant &q = Q->value;
|
||||
|
||||
// Find node in scenes and remove it.
|
||||
HashMap<Vector2i, String>::Iterator entry = q.scenes.find(pk);
|
||||
if (entry != q.scenes.end()) {
|
||||
String scene_name = entry->value;
|
||||
Node *scene = tile_map_node->get_node_or_null(scene_name);
|
||||
if (scene) {
|
||||
scene->queue_free();
|
||||
instantiated_scenes.erase(Vector2i(pk.x, pk.y));
|
||||
}
|
||||
}
|
||||
|
||||
q.cells.erase(pk);
|
||||
|
||||
// Remove or make the quadrant dirty.
|
||||
|
|
Loading…
Reference in New Issue