mirror of
https://github.com/godotengine/godot.git
synced 2025-03-07 23:32:58 +08:00
Merge pull request #94616 from Chaosus/vs_fix_vec4_constant
Change `VisualShaderNodeVec4Constant` type to vec4
This commit is contained in:
commit
6c6e74408c
editor/plugins
scene/resources
@ -315,8 +315,8 @@ void VisualShaderGraphPlugin::set_input_port_default_value(VisualShader::Type p_
|
||||
Vector3 v = p_value;
|
||||
button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3));
|
||||
} break;
|
||||
case Variant::QUATERNION: {
|
||||
Quaternion v = p_value;
|
||||
case Variant::VECTOR4: {
|
||||
Vector4 v = p_value;
|
||||
button->set_text(String::num(v.x, 3) + "," + String::num(v.y, 3) + "," + String::num(v.z, 3) + "," + String::num(v.w, 3));
|
||||
} break;
|
||||
default: {
|
||||
@ -3295,7 +3295,6 @@ void VisualShaderEditor::_edit_port_default_input(Object *p_button, int p_node,
|
||||
popup_pref_size.width = 320;
|
||||
break;
|
||||
case Variant::VECTOR4:
|
||||
case Variant::QUATERNION:
|
||||
case Variant::PLANE:
|
||||
case Variant::TRANSFORM2D:
|
||||
case Variant::TRANSFORM3D:
|
||||
@ -7965,7 +7964,7 @@ Control *VisualShaderNodePluginDefault::create_editor(const Ref<Resource> &p_par
|
||||
prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
|
||||
} else if (Object::cast_to<EditorPropertyTransform3D>(prop) || Object::cast_to<EditorPropertyVector3>(prop)) {
|
||||
prop->set_custom_minimum_size(Size2(250 * EDSCALE, 0));
|
||||
} else if (Object::cast_to<EditorPropertyQuaternion>(prop)) {
|
||||
} else if (Object::cast_to<EditorPropertyVector4>(prop)) {
|
||||
prop->set_custom_minimum_size(Size2(320 * EDSCALE, 0));
|
||||
} else if (Object::cast_to<EditorPropertyFloat>(prop)) {
|
||||
prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
|
||||
|
@ -580,9 +580,17 @@ Quaternion VisualShaderNodeVec4Constant::get_constant() const {
|
||||
return constant;
|
||||
}
|
||||
|
||||
void VisualShaderNodeVec4Constant::_set_constant_v4(const Vector4 &p_constant) {
|
||||
set_constant(Quaternion(p_constant.x, p_constant.y, p_constant.z, p_constant.w));
|
||||
}
|
||||
|
||||
Vector4 VisualShaderNodeVec4Constant::_get_constant_v4() const {
|
||||
return Vector4(constant.x, constant.y, constant.z, constant.w);
|
||||
}
|
||||
|
||||
Vector<StringName> VisualShaderNodeVec4Constant::get_editable_properties() const {
|
||||
Vector<StringName> props;
|
||||
props.push_back("constant");
|
||||
props.push_back("constant_v4");
|
||||
return props;
|
||||
}
|
||||
|
||||
@ -590,7 +598,11 @@ void VisualShaderNodeVec4Constant::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_constant", "constant"), &VisualShaderNodeVec4Constant::set_constant);
|
||||
ClassDB::bind_method(D_METHOD("get_constant"), &VisualShaderNodeVec4Constant::get_constant);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("_set_constant_v4", "constant"), &VisualShaderNodeVec4Constant::_set_constant_v4);
|
||||
ClassDB::bind_method(D_METHOD("_get_constant_v4"), &VisualShaderNodeVec4Constant::_get_constant_v4);
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::QUATERNION, "constant"), "set_constant", "get_constant");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR4, "constant_v4", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_INTERNAL), "_set_constant_v4", "_get_constant_v4");
|
||||
}
|
||||
|
||||
VisualShaderNodeVec4Constant::VisualShaderNodeVec4Constant() {
|
||||
|
@ -341,6 +341,9 @@ public:
|
||||
void set_constant(const Quaternion &p_constant);
|
||||
Quaternion get_constant() const;
|
||||
|
||||
void _set_constant_v4(const Vector4 &p_constant);
|
||||
Vector4 _get_constant_v4() const;
|
||||
|
||||
virtual Vector<StringName> get_editable_properties() const override;
|
||||
|
||||
VisualShaderNodeVec4Constant();
|
||||
|
Loading…
Reference in New Issue
Block a user