Support setting old `material/#` properties on MeshInstance3D
This commit is contained in:
parent
e3213aaef5
commit
86895c1cbf
|
@ -50,8 +50,19 @@ bool MeshInstance3D::_set(const StringName &p_name, const Variant &p_value) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_name.operator String().begins_with("surface_material_override/")) {
|
String name = p_name;
|
||||||
int idx = p_name.operator String().get_slicec('/', 1).to_int();
|
|
||||||
|
#ifndef DISABLE_DEPRECATED
|
||||||
|
if (name.begins_with("material/")) {
|
||||||
|
WARN_DEPRECATED_MSG("This mesh uses an old deprecated parameter name. Consider re-saving this scene in order for it to continue working in future versions." +
|
||||||
|
(is_inside_tree() ? vformat(" Path: \"%s\"", get_path()) : String()));
|
||||||
|
}
|
||||||
|
if (name.begins_with("surface_material_override/") || name.begins_with("material/"))
|
||||||
|
#else
|
||||||
|
if (name.begins_with("surface_material_override/"))
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
int idx = name.get_slicec('/', 1).to_int();
|
||||||
|
|
||||||
if (idx >= surface_override_materials.size() || idx < 0) {
|
if (idx >= surface_override_materials.size() || idx < 0) {
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue