Check invalid node name

This commit is contained in:
volzhs
2018-04-27 01:42:15 +09:00
parent a096df5e45
commit 6758b6c131
3 changed files with 25 additions and 4 deletions

View File

@@ -979,9 +979,23 @@ void Node::_set_name_nocheck(const StringName &p_name) {
data.name = p_name;
}
String Node::invalid_character = ". : @ / \"";
bool Node::_validate_node_name(String &p_name) {
String name = p_name;
Vector<String> chars = Node::invalid_character.split(" ");
for (int i = 0; i < chars.size(); i++) {
name = name.replace(chars[i], "");
}
bool is_valid = name == p_name;
p_name = name;
return is_valid;
}
void Node::set_name(const String &p_name) {
String name = p_name.replace(":", "").replace("/", "").replace("@", "");
String name = p_name;
_validate_node_name(name);
ERR_FAIL_COND(name == "");
data.name = name;