summaryrefslogtreecommitdiffstats
path: root/scene/resources/visual_shader.cpp
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2024-01-22 20:38:30 +0100
committerYuri Sizov <yuris@humnom.net>2024-01-22 20:38:30 +0100
commitfeb1157276d448b321a2bc89f7efe8872127de66 (patch)
tree4be9bf3a682efc6e91d60aceb675f2a11736ebde /scene/resources/visual_shader.cpp
parentc50b80228f3532918a805ed95814da8ddfc61026 (diff)
parentf59419bfe067ac28cda1f91a6106fce1459d301b (diff)
downloadredot-engine-feb1157276d448b321a2bc89f7efe8872127de66.tar.gz
Merge pull request #83510 from Geometror/vs-connection-ops
Add connection related functionality to VisualShader (deleting, dropping/inserting a node)
Diffstat (limited to 'scene/resources/visual_shader.cpp')
-rw-r--r--scene/resources/visual_shader.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index 8ff5b54fbe..41660767ab 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -246,6 +246,20 @@ void VisualShaderNode::set_input_port_connected(int p_port, bool p_connected) {
connected_input_ports[p_port] = p_connected;
}
+bool VisualShaderNode::is_any_port_connected() const {
+ for (const KeyValue<int, bool> &E : connected_input_ports) {
+ if (E.value) {
+ return true;
+ }
+ }
+ for (const KeyValue<int, int> &E : connected_output_ports) {
+ if (E.value > 0) {
+ return true;
+ }
+ }
+ return false;
+}
+
bool VisualShaderNode::is_generate_input_var(int p_port) const {
return true;
}