diff options
Diffstat (limited to 'addons/escoria-wizard/plugin.gd')
| -rw-r--r-- | addons/escoria-wizard/plugin.gd | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/addons/escoria-wizard/plugin.gd b/addons/escoria-wizard/plugin.gd new file mode 100644 index 0000000..5bb65f0 --- /dev/null +++ b/addons/escoria-wizard/plugin.gd @@ -0,0 +1,59 @@ +@tool +extends EditorPlugin + +const helper_ui = preload("res://addons/escoria-wizard/escoria_wizard.tscn") + +# This is the instance of the plugin code that is instantiated by the plugin. +var helper_instance + +func _enter_tree() -> void: + helper_instance = helper_ui.instantiate() + helper_instance.plugin_reference = self + # Add the panel to the main viewport + get_editor_interface().get_editor_main_screen().add_child(helper_instance) + _make_visible(false) + + +func _exit_tree() -> void: + if helper_instance: + helper_instance.queue_free() + + +func _has_main_screen() -> bool: + # Add the button to the Godot interface ribbon + return true + + +func _make_visible(visible: bool) -> void: + if helper_instance: + helper_instance.visible = visible + + +func _get_plugin_name() -> String: + return "Escoria Wizard" + + +func _get_plugin_icon() -> Texture2D: + return (preload("res://addons/escoria-wizard/graphics/icon16x16.png")) + + +func open_scene(path: String) -> void: + get_editor_interface().open_scene_from_path(path) + +# Unregister ourselves +func _disable_plugin(): + print("Disabling Escoria Wizard plugin") + ESCProjectSettingsManager.remove_setting( + "escoria/wizard/path_to_rooms" + ) + +# Register ourselves +func _enable_plugin(): + print("Enabling Escoria Wizard plugin") + ESCProjectSettingsManager.register_setting( + "escoria/wizard/path_to_rooms", + "res://rooms", + { + "type": TYPE_STRING + } + ) |
