Merge pull request #64570 from KoBeWi/node🧳ing
Unify node casing adjustment
This commit is contained in:
@ -948,6 +948,21 @@ String Node::validate_child_name(Node *p_child) {
|
||||
}
|
||||
#endif
|
||||
|
||||
String Node::adjust_name_casing(const String &p_name) {
|
||||
switch (GLOBAL_GET("editor/node_naming/name_casing").operator int()) {
|
||||
case NAME_CASING_PASCAL_CASE:
|
||||
return p_name.capitalize().replace(" ", "");
|
||||
case NAME_CASING_CAMEL_CASE: {
|
||||
String name = p_name.capitalize().replace(" ", "");
|
||||
name[0] = name.to_lower()[0];
|
||||
return name;
|
||||
}
|
||||
case NAME_CASING_SNAKE_CASE:
|
||||
return p_name.capitalize().replace(" ", "_").to_lower();
|
||||
}
|
||||
return p_name;
|
||||
}
|
||||
|
||||
void Node::_validate_child_name(Node *p_child, bool p_force_human_readable) {
|
||||
/* Make sure the name is unique */
|
||||
|
||||
@ -1021,19 +1036,8 @@ void Node::_generate_serial_child_name(const Node *p_child, StringName &name) co
|
||||
//no name and a new name is needed, create one.
|
||||
|
||||
name = p_child->get_class();
|
||||
// Adjust casing according to project setting. The current type name is expected to be in PascalCase.
|
||||
switch (ProjectSettings::get_singleton()->get("editor/node_naming/name_casing").operator int()) {
|
||||
case NAME_CASING_PASCAL_CASE:
|
||||
break;
|
||||
case NAME_CASING_CAMEL_CASE: {
|
||||
String n = name;
|
||||
n[0] = n.to_lower()[0];
|
||||
name = n;
|
||||
} break;
|
||||
case NAME_CASING_SNAKE_CASE:
|
||||
name = String(name).camelcase_to_underscore(true);
|
||||
break;
|
||||
}
|
||||
// Adjust casing according to project setting.
|
||||
name = adjust_name_casing(name);
|
||||
}
|
||||
|
||||
//quickly test if proposed name exists
|
||||
|
||||
Reference in New Issue
Block a user