58 lines
1.9 KiB
GDScript
58 lines
1.9 KiB
GDScript
@tool
|
|
extends EditorPlugin
|
|
|
|
const ConsoleOptions := preload("res://addons/limbo_console/console_options.gd")
|
|
const ConfigMapper := preload("res://addons/limbo_console/config_mapper.gd")
|
|
|
|
func _enter_tree() -> void:
|
|
add_autoload_singleton("LimboConsole", "res://addons/limbo_console/limbo_console.gd")
|
|
|
|
# Sync config file (create if not exists)
|
|
var console_options := ConsoleOptions.new()
|
|
var do_project_setting_save: bool = false
|
|
ConfigMapper.load_from_config(console_options)
|
|
ConfigMapper.save_to_config(console_options)
|
|
|
|
if not ProjectSettings.has_setting("input/limbo_console_toggle"):
|
|
print("LimboConsole: Adding \"limbo_console_toggle\" input action to project settings...")
|
|
|
|
var key_event := InputEventKey.new()
|
|
key_event.keycode = KEY_QUOTELEFT
|
|
|
|
ProjectSettings.set_setting("input/limbo_console_toggle", {
|
|
"deadzone": 0.5,
|
|
"events": [key_event],
|
|
})
|
|
do_project_setting_save = true
|
|
|
|
if not ProjectSettings.has_setting("input/limbo_auto_complete_reverse"):
|
|
print("LimboConsole: Adding \"limbo_auto_complete_reverse\" input action to project settings...")
|
|
var key_event = InputEventKey.new()
|
|
key_event.keycode = KEY_TAB
|
|
key_event.shift_pressed = true
|
|
|
|
ProjectSettings.set_setting("input/limbo_auto_complete_reverse", {
|
|
"deadzone": 0.5,
|
|
"events": [key_event],
|
|
})
|
|
do_project_setting_save = true
|
|
|
|
if not ProjectSettings.has_setting("input/limbo_console_search_history"):
|
|
print("LimboConsole: Adding \"limbo_console_search_history\" input action to project settings...")
|
|
var key_event = InputEventKey.new()
|
|
key_event.keycode = KEY_R
|
|
key_event.ctrl_pressed = true
|
|
|
|
ProjectSettings.set_setting("input/limbo_console_search_history", {
|
|
"deadzone": 0.5,
|
|
"events": [key_event],
|
|
})
|
|
do_project_setting_save = true
|
|
|
|
if do_project_setting_save:
|
|
ProjectSettings.save()
|
|
|
|
|
|
func _exit_tree() -> void:
|
|
remove_autoload_singleton("LimboConsole")
|