You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
Backport CanvasLayer visibility
This commit is contained in:
@@ -361,6 +361,17 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll
|
||||
}
|
||||
|
||||
_update_visibility_color(p_node, item);
|
||||
} else if (p_node->is_class("CanvasLayer")) {
|
||||
bool v = p_node->call("is_visible");
|
||||
if (v) {
|
||||
item->add_button(0, get_icon("GuiVisibilityVisible", "EditorIcons"), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
|
||||
} else {
|
||||
item->add_button(0, get_icon("GuiVisibilityHidden", "EditorIcons"), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
|
||||
}
|
||||
|
||||
if (!p_node->is_connected("visibility_changed", this, "_node_visibility_changed")) {
|
||||
p_node->connect("visibility_changed", this, "_node_visibility_changed", varray(p_node));
|
||||
}
|
||||
} else if (p_node->is_class("Spatial")) {
|
||||
bool is_locked = p_node->has_meta("_edit_lock_");
|
||||
if (is_locked) {
|
||||
@@ -470,6 +481,9 @@ void SceneTreeEditor::_node_visibility_changed(Node *p_node) {
|
||||
if (p_node->is_class("CanvasItem")) {
|
||||
visible = p_node->call("is_visible");
|
||||
CanvasItemEditor::get_singleton()->get_viewport_control()->update();
|
||||
} else if (p_node->is_class("CanvasLayer")) {
|
||||
visible = p_node->call("is_visible");
|
||||
CanvasItemEditor::get_singleton()->get_viewport_control()->update();
|
||||
} else if (p_node->is_class("Spatial")) {
|
||||
visible = p_node->call("is_visible");
|
||||
}
|
||||
@@ -528,7 +542,7 @@ void SceneTreeEditor::_node_removed(Node *p_node) {
|
||||
p_node->disconnect("script_changed", this, "_node_script_changed");
|
||||
}
|
||||
|
||||
if (p_node->is_class("Spatial") || p_node->is_class("CanvasItem")) {
|
||||
if (p_node->is_class("Spatial") || p_node->is_class("CanvasItem") || p_node->is_class("CanvasLayer")) {
|
||||
if (p_node->is_connected("visibility_changed", this, "_node_visibility_changed")) {
|
||||
p_node->disconnect("visibility_changed", this, "_node_visibility_changed");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user