summaryrefslogtreecommitdiffstats
path: root/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-05-03 12:25:26 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-05-03 12:25:26 +0200
commit03e6fbb010c3546593bd91a0dabc045a9882705a (patch)
tree3fecc6c86700d555245a71ac2b6421c5296a3132 /editor/debugger/debug_adapter/debug_adapter_protocol.cpp
parentd898f37e35ac4966fc7d54a009d05181fd3b232e (diff)
parentf9b488508ccc294db03d427c15c182864fae74de (diff)
downloadredot-engine-03e6fbb010c3546593bd91a0dabc045a9882705a.tar.gz
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
Diffstat (limited to 'editor/debugger/debug_adapter/debug_adapter_protocol.cpp')
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_protocol.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
index 74d7497929..c86ca7aaad 100644
--- a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
@@ -649,6 +649,28 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) {
variable_list.insert(id, arr);
return id;
}
+ case Variant::PACKED_VECTOR4_ARRAY: {
+ int id = variable_id++;
+ PackedVector4Array array = p_var;
+ DAP::Variable size;
+ size.name = "size";
+ size.type = Variant::get_type_name(Variant::INT);
+ size.value = itos(array.size());
+
+ Array arr;
+ arr.push_back(size.to_json());
+
+ for (int i = 0; i < array.size(); i++) {
+ DAP::Variable var;
+ var.name = itos(i);
+ var.type = Variant::get_type_name(Variant::VECTOR4);
+ var.value = array[i];
+ var.variablesReference = parse_variant(array[i]);
+ arr.push_back(var.to_json());
+ }
+ variable_list.insert(id, arr);
+ return id;
+ }
default:
// Simple atomic stuff, or too complex to be manipulated
return 0;