Deleting only repeating "Scripted Variables" props

This commit is contained in:
Hristo Stamenov 2022-02-22 20:25:33 +02:00
parent 0beb721c70
commit f9dba447b9

View file

@ -3620,20 +3620,25 @@ void EditorInspector::_update_script_class_properties(const Object &p_object, Li
added.insert(pi.name);
r_list.insert_before(insert_here, pi);
List<PropertyInfo>::Element *prop_below = bottom->next();
while (prop_below) {
if (prop_below->get() == pi) {
List<PropertyInfo>::Element *to_delete = prop_below;
prop_below = prop_below->next();
r_list.erase(to_delete);
} else {
prop_below = prop_below->next();
}
}
}
// Script Variables -> NodeA (insert_here) -> A props... -> bottom
insert_here = category;
}
// NodeC -> C props... -> NodeB..C..
if (script_variables) {
r_list.erase(script_variables);
List<PropertyInfo>::Element *to_delete = bottom->next();
while (to_delete && !(to_delete->get().usage & PROPERTY_USAGE_CATEGORY)) {
r_list.erase(to_delete);
to_delete = bottom->next();
}
r_list.erase(bottom);
}
}