1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

[Editor] Better expose EditorDebuggerPlugin.

Now splitted into two classes:
- EditorDebuggerPlugin (RefCounted).
- EditorDebuggerSession (abstract).

This allows the EditorPlugin to be in control of the debugger plugin
lifecycle, be notified when sessions are created, and customize each of
them independently.

We should slowly transition the various profilers and captures in
ScriptEditorDebugger to their own plugins, and decouple
ScriptEditorDebugger from it's UI part (making it the "real"
EditorDebuggerSession potentially dropping the wrappers).
This commit is contained in:
Fabio Alessandrelli
2022-10-03 15:21:25 +02:00
parent 471c42ee1f
commit d568b25e36
12 changed files with 371 additions and 202 deletions

View File

@@ -163,10 +163,6 @@ private:
EditorDebuggerNode::CameraOverride camera_override;
HashMap<Ref<Script>, EditorDebuggerPlugin *> debugger_plugins;
HashMap<StringName, Callable> captures;
void _stack_dump_frame_selected();
void _file_selected(const String &p_file);
@@ -286,14 +282,11 @@ public:
virtual Size2 get_minimum_size() const override;
void add_debugger_plugin(const Ref<Script> &p_script);
void remove_debugger_plugin(const Ref<Script> &p_script);
void add_debugger_tab(Control *p_control);
void remove_debugger_tab(Control *p_control);
void send_message(const String &p_message, const Array &p_args);
void register_message_capture(const StringName &p_name, const Callable &p_callable);
void unregister_message_capture(const StringName &p_name);
bool has_capture(const StringName &p_name);
void toggle_profiler(const String &p_profiler, bool p_enable, const Array &p_data);
ScriptEditorDebugger();
~ScriptEditorDebugger();