Added debugger plugin support
Changes: * EngineDebugger is exposed to gdscript. Game side of communication can be implemented through it. * EditorDebuggerPlugin is added which handles the editor side of communication.
This commit is contained in:
parent
a609b30ddb
commit
ea2eaf8c27
16 changed files with 780 additions and 1 deletions
|
|
@ -54,6 +54,7 @@ class EditorVisualProfiler;
|
|||
class EditorNetworkProfiler;
|
||||
class EditorPerformanceProfiler;
|
||||
class SceneDebuggerTree;
|
||||
class EditorDebuggerPlugin;
|
||||
|
||||
class ScriptEditorDebugger : public MarginContainer {
|
||||
GDCLASS(ScriptEditorDebugger, MarginContainer);
|
||||
|
|
@ -146,6 +147,10 @@ private:
|
|||
|
||||
EditorDebuggerNode::CameraOverride camera_override;
|
||||
|
||||
Map<Ref<Script>, EditorDebuggerPlugin *> debugger_plugins;
|
||||
|
||||
Map<StringName, Callable> captures;
|
||||
|
||||
void _stack_dump_frame_selected();
|
||||
|
||||
void _file_selected(const String &p_file);
|
||||
|
|
@ -253,6 +258,16 @@ public:
|
|||
bool is_skip_breakpoints();
|
||||
|
||||
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 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);
|
||||
|
||||
ScriptEditorDebugger(EditorNode *p_editor = nullptr);
|
||||
~ScriptEditorDebugger();
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue