[EngineDebugger] handles the communication between the editor and the running game. It is active in the running game. Messages can be sent/received through it. It also manages the profilers.
</description>
<tutorials>
</tutorials>
<methods>
<methodname="has_capture">
<returntype="bool">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<description>
Returns [code]true[/code] if a capture with the given name is present otherwise [code]false[/code].
</description>
</method>
<methodname="has_profiler">
<returntype="bool">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<description>
Returns [code]true[/code] if a profiler with the given name is present otherwise [code]false[/code].
</description>
</method>
<methodname="is_active">
<returntype="bool">
</return>
<description>
Returns [code]true[/code] if the debugger is active otherwise [code]false[/code].
</description>
</method>
<methodname="is_profiling">
<returntype="bool">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<description>
Returns [code]true[/code] if a profiler with the given name is present and active otherwise [code]false[/code].
</description>
</method>
<methodname="profiler_add_frame_data">
<returntype="void">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<argumentindex="1"name="data"type="Array">
</argument>
<description>
Calls the [code]add[/code] callable of the profiler with given [code]name[/code] and [code]data[/code].
Calls the [code]toggle[/code] callable of the profiler with given [code]name[/code] and [code]arguments[/code]. Enables/Disables the same profiler depending on [code]enable[/code] argument.
</description>
</method>
<methodname="register_message_capture">
<returntype="void">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<argumentindex="1"name="callable"type="Callable">
</argument>
<description>
Registers a message capture with given [code]name[/code]. If [code]name[/code] is "my_message" then messages starting with "my_message:" will be called with the given callable.
Callable must accept a message string and a data array as argument. If the message and data are valid then callable must return [code]true[/code] otherwise [code]false[/code].
</description>
</method>
<methodname="register_profiler">
<returntype="void">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<argumentindex="1"name="toggle"type="Callable">
</argument>
<argumentindex="2"name="add"type="Callable">
</argument>
<argumentindex="3"name="tick"type="Callable">
</argument>
<description>
Registers a profiler with the given [code]name[/code].
[code]toggle[/code] callable is called when the profiler is enabled/disabled. It must take an argument array as an argument.
[code]add[/code] callable is called when data is added to profiler using [method EngineDebugger.profiler_add_frame_data]. It must take a data array as argument.
[code]tick[/code] callable is called at every active profiler iteration. It must take frame time, idle time, physics time, and physics idle time as arguments.
</description>
</method>
<methodname="send_message">
<returntype="void">
</return>
<argumentindex="0"name="message"type="String">
</argument>
<argumentindex="1"name="data"type="Array">
</argument>
<description>
Sends a message with given [code]message[/code] and [code]data[/code] array.
</description>
</method>
<methodname="unregister_message_capture">
<returntype="void">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<description>
Unregisters the message capture with given [code]name[/code].
</description>
</method>
<methodname="unregister_profiler">
<returntype="void">
</return>
<argumentindex="0"name="name"type="StringName">
</argument>
<description>
Unregisters a profiler with given [code]name[/code].