diff --git a/addons/beehave/debug/debugger_tab.gd b/addons/beehave/debug/debugger_tab.gd index 2fe9402a..58c6cc75 100644 --- a/addons/beehave/debug/debugger_tab.gd +++ b/addons/beehave/debug/debugger_tab.gd @@ -58,7 +58,7 @@ func _build_ui() -> void: blackboard_vbox.hide() graph_container.add_child(blackboard_vbox) - # “Run Project for debugging” overlay + # "Run Project for debugging" overlay message = Label.new() message.text = "Run Project for debugging" message.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER @@ -81,7 +81,7 @@ func _init_graph() -> void: graph_container.add_child(graph) graph_container.move_child(graph, 0) - # “Make Floating” button + # "Make Floating" button var float_btn = Button.new() float_btn.name = "MakeFloatingButton" float_btn.flat = true @@ -92,7 +92,7 @@ func _init_graph() -> void: ) graph.get_menu_container().add_child(float_btn) - # “Toggle Panel” button + # "Toggle Panel" button var toggle_btn = Button.new() toggle_btn.name = "TogglePanelButton" toggle_btn.flat = true @@ -117,6 +117,10 @@ func start() -> void: get_tree().create_timer(delay).timeout.connect(_notify_state) else: _notify_state() + + # Auto-detach if enabled in project settings - check every time + if ProjectSettings.get_setting("beehave/debugger/start_detached", false): + emit_signal("make_floating") func _notify_state() -> void: diff --git a/addons/beehave/plugin.gd b/addons/beehave/plugin.gd index cda3b0d8..c6805afb 100644 --- a/addons/beehave/plugin.gd +++ b/addons/beehave/plugin.gd @@ -10,6 +10,20 @@ func _init(): name = "BeehavePlugin" add_autoload_singleton("BeehaveGlobalMetrics", "metrics/beehave_global_metrics.gd") add_autoload_singleton("BeehaveGlobalDebugger", "debug/global_debugger.gd") + + # Add project settings + if not ProjectSettings.has_setting("beehave/debugger/start_detached"): + ProjectSettings.set_setting("beehave/debugger/start_detached", false) + ProjectSettings.set_initial_value("beehave/debugger/start_detached", false) + ProjectSettings.add_property_info({ + "name": "beehave/debugger/start_detached", + "type": TYPE_BOOL, + "hint": PROPERTY_HINT_NONE, + "hint_string": "If enabled, the debugger will start in a separate window", + "usage": PROPERTY_USAGE_DEFAULT + }) + ProjectSettings.save() + print("Beehave initialized!") diff --git a/project.godot b/project.godot index 8a39aaa3..a22e6d10 100644 --- a/project.godot +++ b/project.godot @@ -22,6 +22,10 @@ config/icon="res://icon.png" BeehaveGlobalMetrics="*res://addons/beehave/metrics/beehave_global_metrics.gd" BeehaveGlobalDebugger="*res://addons/beehave/debug/global_debugger.gd" +[beehave] + +debugger/start_detached=false + [dotnet] project/assembly_name="Beehave"