summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scene/2d/tile_map_layer.cpp6
-rw-r--r--scene/2d/tile_map_layer.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/scene/2d/tile_map_layer.cpp b/scene/2d/tile_map_layer.cpp
index b6d0a8d73a..171ff7f039 100644
--- a/scene/2d/tile_map_layer.cpp
+++ b/scene/2d/tile_map_layer.cpp
@@ -1887,6 +1887,12 @@ void TileMapLayer::_update_self_texture_repeat(RS::CanvasItemTextureRepeat p_tex
emit_signal(CoreStringName(changed));
}
+#ifdef TOOLS_ENABLED
+bool TileMapLayer::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const {
+ return get_cell_source_id(local_to_map(p_point)) != TileSet::INVALID_SOURCE;
+}
+#endif
+
void TileMapLayer::set_as_tile_map_internal_node(int p_index) {
// Compatibility with TileMap.
ERR_FAIL_NULL(get_parent());
diff --git a/scene/2d/tile_map_layer.h b/scene/2d/tile_map_layer.h
index b0aaaafe5d..c71f13d7be 100644
--- a/scene/2d/tile_map_layer.h
+++ b/scene/2d/tile_map_layer.h
@@ -393,6 +393,10 @@ protected:
virtual void _update_self_texture_repeat(RS::CanvasItemTextureRepeat p_texture_repeat) override;
public:
+#ifdef TOOLS_ENABLED
+ virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const override;
+#endif
+
// TileMap node.
void set_as_tile_map_internal_node(int p_index);
int get_index_in_tile_map() const {