From 91b6c287d99955f9f588b81bdce2b290b5d2f0fc Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Thu, 24 Mar 2022 17:19:59 +0800 Subject: [PATCH] Update inspector layer names when project settings changed --- editor/editor_properties.cpp | 9 +++++++++ editor/editor_properties.h | 1 + 2 files changed, 10 insertions(+) diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index b8b11303d4b..1cc7c957f89 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -952,6 +952,8 @@ void EditorPropertyLayers::update_property() { } void EditorPropertyLayers::setup(LayerType p_layer_type) { + layer_type = p_layer_type; + String basename; int layer_group_size = 0; int layer_count = 0; @@ -1036,10 +1038,15 @@ void EditorPropertyLayers::_menu_pressed(int p_menu) { _grid_changed(grid->value); } +void EditorPropertyLayers::_refresh_names() { + setup(layer_type); +} + void EditorPropertyLayers::_bind_methods() { ClassDB::bind_method(D_METHOD("_grid_changed"), &EditorPropertyLayers::_grid_changed); ClassDB::bind_method(D_METHOD("_button_pressed"), &EditorPropertyLayers::_button_pressed); ClassDB::bind_method(D_METHOD("_menu_pressed"), &EditorPropertyLayers::_menu_pressed); + ClassDB::bind_method(D_METHOD("_refresh_names"), &EditorPropertyLayers::_refresh_names); } EditorPropertyLayers::EditorPropertyLayers() { @@ -1064,6 +1071,8 @@ EditorPropertyLayers::EditorPropertyLayers() { layers->set_hide_on_checkable_item_selection(false); layers->connect("id_pressed", this, "_menu_pressed"); layers->connect("popup_hide", button, "set_pressed", varray(false)); + + ProjectSettings::get_singleton()->connect("project_settings_changed", this, "_refresh_names"); } ///////////////////// INT ///////////////////////// diff --git a/editor/editor_properties.h b/editor/editor_properties.h index 9acea06f020..8a0b5478652 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -269,6 +269,7 @@ private: void _button_pressed(); void _menu_pressed(int p_menu); + void _refresh_names(); protected: static void _bind_methods();