summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames <j.lammlein@gmail.com>2018-01-20 14:21:00 -0500
committerJames <j.lammlein@gmail.com>2018-05-15 20:14:37 -0400
commit69ee7945d70e40c7953e9f587a8d0480db8eda86 (patch)
tree6a4d017ccc7895ec50bdc54e4293cd0a813e7019
parentc58891ff4ce9559fb1413d34159d3fb039999402 (diff)
Fixing a bug where tilemap navigation would not be accurate after a tilemap exits and then re-enters the tree. Fixing a bug where deleting a tile and then querying navigation would result in an incorrect path if both happened within the same frame.
-rw-r--r--scene/2d/tile_map.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index 361d765c97..52263e2a1f 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -61,6 +61,7 @@ void TileMap::_notification(int p_what) {
}
pending_update = true;
+ _recreate_quadrants();
_update_dirty_quadrants();
RID space = get_world_2d()->get_space();
_update_quadrant_transform();
@@ -653,7 +654,7 @@ void TileMap::_make_quadrant_dirty(Map<PosKey, Quadrant>::Element *Q) {
pending_update = true;
if (!is_inside_tree())
return;
- call_deferred("_update_dirty_quadrants");
+ _update_dirty_quadrants();
}
void TileMap::set_cellv(const Vector2 &p_pos, int p_tile, bool p_flip_x, bool p_flip_y, bool p_transpose) {