From bfe44de2b6435869ac2c07814fe09e939e0c27a0 Mon Sep 17 00:00:00 2001 From: Bojidar Marinov Date: Wed, 22 Nov 2017 14:13:56 +0200 Subject: Make tween able to be used as before (without the need for ":...") Fixes #13174 --- core/node_path.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'core/node_path.cpp') 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(), data->subpath, false); + if (!data->path.size()) { + return *this; } else { - ERR_FAIL_COND_V(data->path.size() != 1, NodePath()); - Vector 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(), new_path, false); } } @@ -335,7 +339,6 @@ NodePath::NodePath(const String &p_path) { return; String path = p_path; - StringName property; Vector subpath; int absolute = (path[0] == '/') ? 1 : 0; -- cgit v1.2.3