diff options
author | Yuri Roubinsky <chaosus89@gmail.com> | 2020-10-01 18:19:36 +0300 |
---|---|---|
committer | Yuri Roubinsky <chaosus89@gmail.com> | 2020-10-01 18:19:36 +0300 |
commit | fa35733b4cccc432cc1f290bcb27fe0e4b32238e (patch) | |
tree | ed4c0e54b5b5a7532446b80166caee76baa4473c | |
parent | 63d158ff6227b5bdf76c25b7ee0cd741187fbd7f (diff) |
Updates size of float constant in visual shader if empty is selected
-rw-r--r-- | editor/plugins/visual_shader_editor_plugin.cpp | 8 | ||||
-rw-r--r-- | editor/plugins/visual_shader_editor_plugin.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 35e8f560b0..1651de4048 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -226,6 +226,13 @@ void VisualShaderGraphPlugin::update_constant(VisualShader::Type p_type, int p_n links[p_node_id].graph_node->set_size(Size2(-1, -1)); } +void VisualShaderGraphPlugin::update_node_size(int p_node_id) { + if (!links.has(p_node_id)) { + return; + } + links[p_node_id].graph_node->set_size(Size2(-1, -1)); +} + void VisualShaderGraphPlugin::register_default_input_button(int p_node_id, int p_port_id, Button *p_button) { links[p_node_id].input_ports.insert(p_port_id, { p_button }); } @@ -2516,6 +2523,7 @@ void VisualShaderEditor::_uniform_select_item(Ref<VisualShaderNodeUniformRef> p_ void VisualShaderEditor::_float_constant_selected(int p_index, int p_node) { if (p_index == 0) { + graph_plugin->update_node_size(p_node); return; } diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index 60a354d1fd..d43af82238 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -111,6 +111,7 @@ public: void set_uniform_name(VisualShader::Type p_type, int p_node_id, const String &p_name); void update_constant(VisualShader::Type p_type, int p_node_id); int get_constant_index(float p_constant) const; + void update_node_size(int p_node_id); VisualShader::Type get_shader_type() const; VisualShaderGraphPlugin(); |