Files
godot-demo-projects/plugins/addons/main_screen/main_screen_plugin.gd

42 lines
1.0 KiB
GDScript

@tool
extends EditorPlugin
const MainPanel = preload("res://addons/main_screen/main_panel.tscn")
var main_panel_instance
func _enter_tree():
main_panel_instance = MainPanel.instantiate()
# Add the main panel to the editor's main viewport.
get_editor_interface().get_editor_main_screen().add_child(main_panel_instance)
# Hide the main panel. Very much required.
_make_visible(false)
func _exit_tree():
if main_panel_instance:
main_panel_instance.queue_free()
func _has_main_screen():
return true
func _make_visible(visible):
if main_panel_instance:
main_panel_instance.visible = visible
# If your plugin doesn't handle any node types, you can remove this method.
func _handles(object):
return is_instance_of(object, preload("res://addons/main_screen/handled_by_main_screen.gd"))
func _get_plugin_name():
return "Main Screen Plugin"
func _get_plugin_icon():
# Must return some kind of Texture2D for the icon.
return get_editor_interface().get_base_control().get_theme_icon("Node", "EditorIcons")