| 407 | } |
| 408 | |
| 409 | Error ServersDebugger::_capture(void *p_user, const String &p_cmd, const Array &p_data, bool &r_captured) { |
| 410 | ERR_FAIL_NULL_V(singleton, ERR_BUG); |
| 411 | r_captured = true; |
| 412 | if (p_cmd == "memory") { |
| 413 | singleton->_send_resource_usage(); |
| 414 | } else if (p_cmd == "draw") { // Forced redraw. |
| 415 | // For camera override to stay live when the game is paused from the editor. |
| 416 | double delta = 0.0; |
| 417 | if (singleton->last_draw_time) { |
| 418 | delta = (OS::get_singleton()->get_ticks_usec() - singleton->last_draw_time) / 1000000.0; |
| 419 | } |
| 420 | singleton->last_draw_time = OS::get_singleton()->get_ticks_usec(); |
| 421 | RenderingServer::get_singleton()->sync(); |
| 422 | if (RenderingServer::get_singleton()->has_changed()) { |
| 423 | RenderingServer::get_singleton()->draw(true, delta); |
| 424 | } |
| 425 | EngineDebugger::get_singleton()->send_message("servers:drawn", Array()); |
| 426 | } else if (p_cmd == "foreground") { |
| 427 | singleton->last_draw_time = 0.0; |
| 428 | DisplayServer::get_singleton()->window_move_to_foreground(); |
| 429 | singleton->servers_profiler->skip_frame(); |
| 430 | } else { |
| 431 | r_captured = false; |
| 432 | } |
| 433 | return OK; |
| 434 | } |
| 435 | |
| 436 | void ServersDebugger::_send_resource_usage() { |
| 437 | ServersDebugger::ResourceUsage usage; |
nothing calls this directly
no test coverage detected