Joey Eamigh 9989fab018
addons?
2025-10-10 14:07:23 -04:00

56 lines
1.3 KiB
GDScript

@tool
extends EditorPlugin
var EditorWindow := load("res://addons/net.yarvis.pixel_pen/editor/editor_window.tscn")
var editor_window_instance : Window
var last_main_screen : String = "3D"
func _on_tool_pressed():
editor_window_instance = EditorWindow.instantiate()
editor_window_instance.window_running = true
EditorInterface.get_base_control().add_child(editor_window_instance)
editor_window_instance.show()
editor_window_instance.grab_focus()
editor_window_instance.tree_exited.connect(func():
get_window().grab_focus()
PixelPen.state.free()
PixelPen.state = PixelPenState.new()
)
func _on_main_screen_changed(screen : String):
last_main_screen = screen
func _has_main_screen():
return true
func _get_plugin_name():
return "PixelPen"
func _get_plugin_icon():
return EditorInterface.get_editor_theme().get_icon("CanvasItem", "EditorIcons")
func _make_visible(visible):
if not editor_window_instance and visible:
EditorInterface.set_main_screen_editor(last_main_screen)
_on_tool_pressed()
func _enter_tree():
EditorInterface.get_base_control().get_window().about_to_popup.connect(func():
PixelPen.state.free()
)
main_screen_changed.connect(_on_main_screen_changed)
func _exit_tree():
main_screen_changed.disconnect(_on_main_screen_changed)