summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorgroud <gilles.roudiere@gmail.com>2018-07-29 23:09:59 +0200
committergroud <gilles.roudiere@gmail.com>2018-07-30 01:05:13 +0200
commiteb7f4ddccebfc0aca0a8981f3ba62971cb9838d4 (patch)
tree097eb5e619e21f73ae408114de057f7ea0ccffc9 /scene
parent200c6cf630aa56b98310b3e747439795f8abbab8 (diff)
Fixes bugs on the 2D editor scrollable area
Diffstat (limited to 'scene')
-rw-r--r--scene/2d/tile_map.cpp11
-rw-r--r--scene/2d/tile_map.h2
2 files changed, 8 insertions, 5 deletions
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index 78637cc097..0aaaa0ff92 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -631,11 +631,7 @@ void TileMap::_recompute_rect_cache() {
r_total = r_total.merge(r);
}
- if (r_total == Rect2()) {
- rect_cache = Rect2(-10, -10, 20, 20);
- } else {
- rect_cache = r_total.grow(MAX(cell_size.x, cell_size.y) * _get_quadrant_size());
- }
+ rect_cache = r_total;
item_rect_changed();
@@ -1152,6 +1148,11 @@ PoolVector<int> TileMap::_get_tile_data() const {
return data;
}
+Rect2 TileMap::_edit_get_rect() const {
+ const_cast<TileMap *>(this)->update_dirty_quadrants();
+ return rect_cache;
+}
+
void TileMap::set_collision_layer(uint32_t p_layer) {
collision_layer = p_layer;
diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h
index c8aceac17d..52aa6e8e2a 100644
--- a/scene/2d/tile_map.h
+++ b/scene/2d/tile_map.h
@@ -223,6 +223,8 @@ public:
INVALID_CELL = -1
};
+ virtual Rect2 _edit_get_rect() const;
+
void set_tileset(const Ref<TileSet> &p_tileset);
Ref<TileSet> get_tileset() const;