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;
|
||||
}
|
||||
|
||||
if (p_name.operator String().begins_with("surface_material_override/")) {
|
||||
int idx = p_name.operator String().get_slicec('/', 1).to_int();
|
||||
String name = p_name;
|
||||
|
||||
#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) {
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue