summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorDualMatrix <piet.goris@gmail.com>2018-10-04 01:59:24 +0200
committerDualMatrix <piet.goris@gmail.com>2018-10-04 15:13:44 +0200
commitc4ac2707dc54b8d11e2a677f01f7bd019b72f788 (patch)
tree1d56f4d7ba8f043f4de9be861a9f1e2c79aaa4b4 /core
parent0f4c30fb7166e84d93f0b2cb20d726f869155d98 (diff)
Cleaned up/Fixed some bugs in the remote inspector code.
Cleaned up/Fixed some bugs in the remote inspector code. This makes some of my previous code cleaner while resolving a bunch of bugs.
Diffstat (limited to 'core')
-rw-r--r--core/script_debugger_remote.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/core/script_debugger_remote.cpp b/core/script_debugger_remote.cpp
index 388e3b77a3..3e984fae32 100644
--- a/core/script_debugger_remote.cpp
+++ b/core/script_debugger_remote.cpp
@@ -578,8 +578,14 @@ void ScriptDebuggerRemote::_send_object_id(ObjectID p_id) {
for (ScriptConstantsMap::Element *sc = constants.front(); sc; sc = sc->next()) {
for (Map<StringName, Variant>::Element *E = sc->get().front(); E; E = E->next()) {
String script_path = sc->key() == si->get_script().ptr() ? "" : sc->key()->get_path().get_file() + "/";
- PropertyInfo pi(E->value().get_type(), "Constants/" + script_path + E->key());
- properties.push_back(PropertyDesc(pi, E->value()));
+ if (E->value().get_type() == Variant::OBJECT) {
+ Variant id = ((Object *)E->value())->get_instance_id();
+ PropertyInfo pi(id.get_type(), "Constants/" + E->key(), PROPERTY_HINT_OBJECT_ID, "Object");
+ properties.push_back(PropertyDesc(pi, id));
+ } else {
+ PropertyInfo pi(E->value().get_type(), "Constants/" + script_path + E->key());
+ properties.push_back(PropertyDesc(pi, E->value()));
+ }
}
}
}
@@ -592,8 +598,14 @@ void ScriptDebuggerRemote::_send_object_id(ObjectID p_id) {
Map<StringName, Variant> constants;
s->get_constants(&constants);
for (Map<StringName, Variant>::Element *E = constants.front(); E; E = E->next()) {
- PropertyInfo pi(E->value().get_type(), String("Constants/") + E->key());
- properties.push_front(PropertyDesc(pi, E->value()));
+ if (E->value().get_type() == Variant::OBJECT) {
+ Variant id = ((Object *)E->value())->get_instance_id();
+ PropertyInfo pi(id.get_type(), "Constants/" + E->key(), PROPERTY_HINT_OBJECT_ID, "Object");
+ properties.push_front(PropertyDesc(pi, E->value()));
+ } else {
+ PropertyInfo pi(E->value().get_type(), String("Constants/") + E->key());
+ properties.push_front(PropertyDesc(pi, E->value()));
+ }
}
}
}
@@ -634,10 +646,9 @@ void ScriptDebuggerRemote::_send_object_id(ObjectID p_id) {
prop.push_back(pi.hint);
prop.push_back(pi.hint_string);
prop.push_back(pi.usage);
+
if (!res.is_null()) {
- var = String("PATH") + res->get_path();
- } else if (var.get_type() == Variant::STRING) {
- var = String("DATA") + var;
+ var = res->get_path();
}
prop.push_back(var);