summaryrefslogtreecommitdiff
path: root/core/node_path.cpp
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2017-11-22 13:20:20 +0100
committerGitHub <noreply@github.com>2017-11-22 13:20:20 +0100
commitc07833f8b5966a1414a2cb85acc401aeb3c5008b (patch)
treee408993da3840feb2f15796ce56da3779c25181d /core/node_path.cpp
parent71f464e798a4f34244f07eede8be0b666b5c0e7b (diff)
parentbfe44de2b6435869ac2c07814fe09e939e0c27a0 (diff)
Merge pull request #13178 from bojidar-bg/13174-tween-fix
Make tween able to be used as before (without the need for ":...")
Diffstat (limited to 'core/node_path.cpp')
-rw-r--r--core/node_path.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/core/node_path.cpp b/core/node_path.cpp
index a01bb420a5..a12152aca6 100644
--- a/core/node_path.cpp
+++ b/core/node_path.cpp
@@ -207,7 +207,7 @@ StringName NodePath::get_concatenated_subnames() const {
String concatenated;
const StringName *ssn = data->subpath.ptr();
for (int i = 0; i < spc; i++) {
- concatenated += i == 0 ? ssn[i].operator String() : "." + ssn[i];
+ concatenated += i == 0 ? ssn[i].operator String() : ":" + ssn[i];
}
data->concatenated_subpath = concatenated;
}
@@ -257,13 +257,17 @@ NodePath NodePath::rel_path_to(const NodePath &p_np) const {
NodePath NodePath::get_as_property_path() const {
- if (data->has_slashes || !data->path.size()) {
- return NodePath(Vector<StringName>(), data->subpath, false);
+ if (!data->path.size()) {
+ return *this;
} else {
- ERR_FAIL_COND_V(data->path.size() != 1, NodePath());
-
Vector<StringName> new_path = data->subpath;
- new_path.insert(0, data->path[0]);
+
+ String initial_subname = data->path[0];
+ for (size_t i = 1; i < data->path.size(); i++) {
+ initial_subname += i == 0 ? data->path[i].operator String() : "/" + data->path[i];
+ }
+ new_path.insert(0, initial_subname);
+
return NodePath(Vector<StringName>(), new_path, false);
}
}
@@ -335,7 +339,6 @@ NodePath::NodePath(const String &p_path) {
return;
String path = p_path;
- StringName property;
Vector<StringName> subpath;
int absolute = (path[0] == '/') ? 1 : 0;