| 179 | } |
| 180 | |
| 181 | bool MultiplayerDebugger::RPCFrame::deserialize(const Array &p_arr) { |
| 182 | ERR_FAIL_COND_V(p_arr.is_empty(), false); |
| 183 | uint32_t size = p_arr[0]; |
| 184 | ERR_FAIL_COND_V(size % 6, false); |
| 185 | ERR_FAIL_COND_V((uint32_t)p_arr.size() != size + 1, false); |
| 186 | infos.resize(size / 6); |
| 187 | int idx = 1; |
| 188 | for (uint32_t i = 0; i < size / 6; i++) { |
| 189 | infos.write[i].node = uint64_t(p_arr[idx]); |
| 190 | infos.write[i].node_path = p_arr[idx + 1]; |
| 191 | infos.write[i].incoming_rpc = p_arr[idx + 2]; |
| 192 | infos.write[i].incoming_size = p_arr[idx + 3]; |
| 193 | infos.write[i].outgoing_rpc = p_arr[idx + 4]; |
| 194 | infos.write[i].outgoing_size = p_arr[idx + 5]; |
| 195 | idx += 6; |
| 196 | } |
| 197 | return true; |
| 198 | } |
| 199 | |
| 200 | void MultiplayerDebugger::RPCProfiler::init_node(const ObjectID p_node) { |
| 201 | if (rpc_node_data.has(p_node)) { |
no test coverage detected