forked from joey/godottest
41 lines
1.2 KiB
GDScript
41 lines
1.2 KiB
GDScript
@tool
|
|
extends EditorPlugin
|
|
|
|
const BeehaveEditorDebugger := preload("debug/debugger.gd")
|
|
var editor_debugger: BeehaveEditorDebugger
|
|
var frames: RefCounted
|
|
|
|
|
|
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!")
|
|
|
|
|
|
func _enter_tree() -> void:
|
|
editor_debugger = BeehaveEditorDebugger.new()
|
|
if Engine.get_version_info().minor >= 2:
|
|
frames = preload("debug/new_frames.gd").new()
|
|
else:
|
|
frames = preload("debug/old_frames.gd").new()
|
|
add_debugger_plugin(editor_debugger)
|
|
|
|
|
|
func _exit_tree() -> void:
|
|
remove_debugger_plugin(editor_debugger)
|