|
@@ -1615,7 +1615,10 @@ void SceneTreeDock::_delete_confirm() {
|
|
|
}
|
|
|
|
|
|
void SceneTreeDock::_update_script_button() {
|
|
|
- if (EditorNode::get_singleton()->get_editor_selection()->get_selection().size() == 1) {
|
|
|
+ if (EditorNode::get_singleton()->get_editor_selection()->get_selection().size() == 0) {
|
|
|
+ button_create_script->hide();
|
|
|
+ button_clear_script->hide();
|
|
|
+ } else if (EditorNode::get_singleton()->get_editor_selection()->get_selection().size() == 1) {
|
|
|
Node *n = EditorNode::get_singleton()->get_editor_selection()->get_selected_node_list()[0];
|
|
|
if (n->get_script().is_null()) {
|
|
|
button_create_script->show();
|
|
@@ -1626,6 +1629,14 @@ void SceneTreeDock::_update_script_button() {
|
|
|
}
|
|
|
} else {
|
|
|
button_create_script->show();
|
|
|
+ List<Node *> selection = EditorNode::get_singleton()->get_editor_selection()->get_selected_node_list();
|
|
|
+ for (List<Node *>::Element *E = selection.front(); E; E = E->next()) {
|
|
|
+ Node *n = E->get();
|
|
|
+ if (!n->get_script().is_null()) {
|
|
|
+ button_clear_script->show();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
button_clear_script->hide();
|
|
|
}
|
|
|
}
|