Add extra warning messages to `VisualShaderNodeTextureParameter`

This commit is contained in:
Yuri Rubinsky 2023-10-21 16:37:15 +03:00
parent 6543495b49
commit 3b353075dc
2 changed files with 54 additions and 0 deletions

View File

@ -6346,6 +6346,7 @@ String get_sampler_hint(VisualShaderNodeTextureParameter::TextureType p_texture_
if (!repeat_code.is_empty()) { if (!repeat_code.is_empty()) {
if (!has_colon) { if (!has_colon) {
code += " : "; code += " : ";
has_colon = true;
} else { } else {
code += ", "; code += ", ";
} }
@ -6495,6 +6496,58 @@ bool VisualShaderNodeTextureParameter::is_show_prop_names() const {
return true; return true;
} }
String VisualShaderNodeTextureParameter::get_warning(Shader::Mode p_mode, VisualShader::Type p_type) const {
if (texture_source != SOURCE_NONE) {
String texture_source_str;
switch (texture_source) {
case SOURCE_SCREEN: {
texture_source_str = "Screen";
} break;
case SOURCE_DEPTH: {
texture_source_str = "Depth";
} break;
case SOURCE_NORMAL_ROUGHNESS: {
texture_source_str = "NormalRoughness";
} break;
default:
break;
}
if (texture_type == TYPE_NORMAL_MAP || texture_type == TYPE_ANISOTROPY) {
String texture_type_str;
switch (texture_type) {
case TYPE_NORMAL_MAP: {
texture_type_str = "Normal Map";
} break;
case TYPE_ANISOTROPY: {
texture_type_str = "Anisotropic";
} break;
default:
break;
}
return vformat(RTR("'%s' type is incompatible with '%s' source."), texture_type_str, texture_source_str);
} else if (color_default != COLOR_DEFAULT_WHITE) {
String color_default_str;
switch (color_default) {
case COLOR_DEFAULT_BLACK: {
color_default_str = "Black";
} break;
case COLOR_DEFAULT_TRANSPARENT: {
color_default_str = "Transparent";
} break;
default:
break;
}
return vformat(RTR("'%s' default color is incompatible with '%s' source."), color_default_str, texture_source_str);
}
}
return "";
}
HashMap<StringName, String> VisualShaderNodeTextureParameter::get_editable_properties_names() const { HashMap<StringName, String> VisualShaderNodeTextureParameter::get_editable_properties_names() const {
HashMap<StringName, String> names; HashMap<StringName, String> names;
names.insert("texture_type", RTR("Type")); names.insert("texture_type", RTR("Type"));

View File

@ -2452,6 +2452,7 @@ public:
virtual HashMap<StringName, String> get_editable_properties_names() const override; virtual HashMap<StringName, String> get_editable_properties_names() const override;
virtual bool is_show_prop_names() const override; virtual bool is_show_prop_names() const override;
virtual String get_warning(Shader::Mode p_mode, VisualShader::Type p_type) const override;
Vector<StringName> get_editable_properties() const override; Vector<StringName> get_editable_properties() const override;