fix CollisionShape3D Shape Size handle will missing

when Script editor floating
This commit is contained in:
jsjtxietian 2023-08-15 12:40:32 +08:00
parent c495eb5102
commit fec0396cac
3 changed files with 9 additions and 1 deletions

View File

@ -2357,7 +2357,7 @@ void EditorNode::_edit_current(bool p_skip_foreign) {
SceneTreeDock::get_singleton()->set_selected(current_node); SceneTreeDock::get_singleton()->set_selected(current_node);
InspectorDock::get_singleton()->update(current_node); InspectorDock::get_singleton()->update(current_node);
if (!inspector_only && !skip_main_plugin) { if (!inspector_only && !skip_main_plugin) {
skip_main_plugin = stay_in_script_editor_on_node_selected && ScriptEditor::get_singleton()->is_visible_in_tree(); skip_main_plugin = stay_in_script_editor_on_node_selected && !ScriptEditor::get_singleton()->is_editor_floating() && ScriptEditor::get_singleton()->is_visible_in_tree();
} }
} else { } else {
NodeDock::get_singleton()->set_node(nullptr); NodeDock::get_singleton()->set_node(nullptr);

View File

@ -1791,6 +1791,10 @@ void ScriptEditor::ensure_select_current() {
_update_selected_editor_menu(); _update_selected_editor_menu();
} }
bool ScriptEditor::is_editor_floating() {
return is_floating;
}
void ScriptEditor::_find_scripts(Node *p_base, Node *p_current, HashSet<Ref<Script>> &used) { void ScriptEditor::_find_scripts(Node *p_base, Node *p_current, HashSet<Ref<Script>> &used) {
if (p_current != p_base && p_current->get_owner() != p_base) { if (p_current != p_base && p_current->get_owner() != p_base) {
return; return;
@ -3747,6 +3751,7 @@ void ScriptEditor::_on_find_in_files_modified_files(PackedStringArray paths) {
void ScriptEditor::_window_changed(bool p_visible) { void ScriptEditor::_window_changed(bool p_visible) {
make_floating->set_visible(!p_visible); make_floating->set_visible(!p_visible);
is_floating = p_visible;
} }
void ScriptEditor::_filter_scripts_text_changed(const String &p_newtext) { void ScriptEditor::_filter_scripts_text_changed(const String &p_newtext) {

View File

@ -274,6 +274,7 @@ class ScriptEditor : public PanelContainer {
Button *help_search = nullptr; Button *help_search = nullptr;
Button *site_search = nullptr; Button *site_search = nullptr;
Button *make_floating = nullptr; Button *make_floating = nullptr;
bool is_floating = false;
EditorHelpSearch *help_search_dialog = nullptr; EditorHelpSearch *help_search_dialog = nullptr;
ItemList *script_list = nullptr; ItemList *script_list = nullptr;
@ -507,6 +508,8 @@ public:
void ensure_select_current(); void ensure_select_current();
bool is_editor_floating();
_FORCE_INLINE_ bool edit(const Ref<Resource> &p_resource, bool p_grab_focus = true) { return edit(p_resource, -1, 0, p_grab_focus); } _FORCE_INLINE_ bool edit(const Ref<Resource> &p_resource, bool p_grab_focus = true) { return edit(p_resource, -1, 0, p_grab_focus); }
bool edit(const Ref<Resource> &p_resource, int p_line, int p_col, bool p_grab_focus = true); bool edit(const Ref<Resource> &p_resource, int p_line, int p_col, bool p_grab_focus = true);