diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-03 12:25:26 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-03 12:25:26 +0200 |
commit | 03e6fbb010c3546593bd91a0dabc045a9882705a (patch) | |
tree | 3fecc6c86700d555245a71ac2b6421c5296a3132 /editor/debugger/debug_adapter/debug_adapter_protocol.cpp | |
parent | d898f37e35ac4966fc7d54a009d05181fd3b232e (diff) | |
parent | f9b488508ccc294db03d427c15c182864fae74de (diff) | |
download | redot-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.cpp | 22 |
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; |