aboutsummaryrefslogtreecommitdiff
path: root/scene/main/node.cpp
diff options
context:
space:
mode:
authorvolzhs2018-04-27 01:42:15 +0900
committervolzhs2018-05-03 00:00:06 +0900
commit6758b6c1317bbdabd04a2c9f8dc16876429b6bfb (patch)
tree6d49f65bf7787ee8104aedf84b8705daf8625afa /scene/main/node.cpp
parenta096df5e450ad028c1149b7378b65fd8a8c18b9c (diff)
downloadgodot-6758b6c1317bbdabd04a2c9f8dc16876429b6bfb.tar.gz
godot-6758b6c1317bbdabd04a2c9f8dc16876429b6bfb.tar.zst
godot-6758b6c1317bbdabd04a2c9f8dc16876429b6bfb.zip
Diffstat (limited to 'scene/main/node.cpp')
-rw-r--r--scene/main/node.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index fcf876809..001b8cfd0 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -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;