Project setting to control node name casing
(cherry picked from commit 87fd54b2f1
)
This commit is contained in:
parent
6dd7d2c1f7
commit
a971186c26
2 changed files with 19 additions and 1 deletions
|
@ -1384,6 +1384,17 @@ String Node::_generate_serial_child_name(Node *p_child) {
|
|||
if (name=="") {
|
||||
|
||||
name = p_child->get_class();
|
||||
// Adjust casing according to project setting. The current type name is expected to be in PascalCase.
|
||||
switch (Globals::get_singleton()->get("node/name_casing").operator int()) {
|
||||
case NAME_CASING_PASCAL_CASE:
|
||||
break;
|
||||
case NAME_CASING_CAMEL_CASE:
|
||||
name[0] = name.to_lower()[0];
|
||||
break;
|
||||
case NAME_CASING_SNAKE_CASE:
|
||||
name = name.camelcase_to_underscore(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Extract trailing number
|
||||
|
@ -2890,7 +2901,8 @@ void Node::_bind_methods() {
|
|||
|
||||
_GLOBAL_DEF("editor/node_name_num_separator",0);
|
||||
GlobalConfig::get_singleton()->set_custom_property_info("editor/node_name_num_separator",PropertyInfo(Variant::INT,"editor/node_name_num_separator",PROPERTY_HINT_ENUM, "None,Space,Underscore,Dash"));
|
||||
|
||||
_GLOBAL_DEF("node/name_casing",NAME_CASING_PASCAL_CASE);
|
||||
GlobalConfig::get_singleton()->set_custom_property_info("node/name_casing",PropertyInfo(Variant::INT,"node/name_casing",PROPERTY_HINT_ENUM,"PascalCase,camelCase,snake_case"));
|
||||
|
||||
ClassDB::bind_method(_MD("_add_child_below_node","node:Node","child_node:Node","legible_unique_name"),&Node::add_child_below_node,DEFVAL(false));
|
||||
|
||||
|
|
|
@ -147,6 +147,12 @@ private:
|
|||
|
||||
} data;
|
||||
|
||||
enum NameCasing {
|
||||
NAME_CASING_PASCAL_CASE,
|
||||
NAME_CASING_CAMEL_CASE,
|
||||
NAME_CASING_SNAKE_CASE
|
||||
};
|
||||
|
||||
|
||||
void _print_tree(const Node *p_node);
|
||||
|
||||
|
|
Loading…
Reference in a new issue