From bea40343ab347d4819922e009a5b738dead057fc Mon Sep 17 00:00:00 2001 From: damarindra Date: Thu, 11 Jan 2018 05:45:14 +0700 Subject: fix updating tileset list when assign texture and set autotile true --- editor/plugins/tile_set_editor_plugin.cpp | 9 +++++++++ editor/plugins/tile_set_editor_plugin.h | 1 + 2 files changed, 10 insertions(+) (limited to 'editor/plugins') diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index 08679b781a..612bdb1d2a 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -583,6 +583,14 @@ void AutotileEditor::_notification(int p_what) { } } +void AutotileEditor::_changed_callback(Object *p_changed, const char *p_prop) { + if (p_prop == StringName("texture") || p_prop == StringName("is_autotile")) { + edit(tile_set.ptr()); + autotile_list->update(); + workspace->update(); + } +} + void AutotileEditor::_on_autotile_selected(int p_index) { if (get_current_tile() >= 0) { @@ -1581,6 +1589,7 @@ Vector2 AutotileEditor::snap_point(const Vector2 &point) { void AutotileEditor::edit(Object *p_node) { tile_set = Ref(Object::cast_to(p_node)); + tile_set->add_change_receptor(this); helper->set_tileset(tile_set); autotile_list->clear(); diff --git a/editor/plugins/tile_set_editor_plugin.h b/editor/plugins/tile_set_editor_plugin.h index 9bd3e23181..93d403deea 100644 --- a/editor/plugins/tile_set_editor_plugin.h +++ b/editor/plugins/tile_set_editor_plugin.h @@ -124,6 +124,7 @@ class AutotileEditor : public Control { protected: static void _bind_methods(); void _notification(int p_what); + virtual void _changed_callback(Object *p_changed, const char *p_prop); private: void _on_autotile_selected(int p_index); -- cgit v1.2.3