prog
This commit is contained in:
69
addons/madtalk/madtalk.gd
Normal file
69
addons/madtalk/madtalk.gd
Normal file
@@ -0,0 +1,69 @@
|
||||
@tool
|
||||
# MadTalk Godot Plugin by Fernando Cosentino
|
||||
# https://github.com/fbcosentino/godot-madtalk
|
||||
#
|
||||
# License: MIT
|
||||
# (But if you can be so kind as to mention the original in your Readme in case
|
||||
# you base any work on this, I would be very glad :] )
|
||||
|
||||
extends EditorPlugin
|
||||
|
||||
# ==============================================================================
|
||||
# GODOT PLUGIN INTEGRATION
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Scened to be instanced
|
||||
var MadTalkEditor_scene = preload("res://addons/madtalk/madtalk_editor.tscn")
|
||||
|
||||
# Resources
|
||||
var viewport_icon = preload("res://addons/madtalk/images/madtalk_viewport_icon.png")
|
||||
|
||||
# Inspector sheet_id editor
|
||||
var sheet_id_inspector_editor = preload("res://addons/madtalk/components/InspectorPluginSheetIDField.gd").new()
|
||||
|
||||
# Holds the main panel node in the viewport
|
||||
var main_panel
|
||||
|
||||
func _enter_tree():
|
||||
add_autoload_singleton("MadTalkGlobals", "res://addons/madtalk/runtime/MadTalkGlobals.tscn")
|
||||
|
||||
add_inspector_plugin(sheet_id_inspector_editor)
|
||||
|
||||
main_panel = MadTalkEditor_scene.instantiate()
|
||||
|
||||
get_editor_interface().get_editor_main_screen().add_child(main_panel)
|
||||
main_panel.setup()
|
||||
_make_visible(false)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
func _exit_tree():
|
||||
remove_inspector_plugin(sheet_id_inspector_editor)
|
||||
|
||||
if main_panel:
|
||||
main_panel.queue_free()
|
||||
|
||||
remove_autoload_singleton("MadTalkGlobals")
|
||||
|
||||
func _has_main_screen():
|
||||
return true
|
||||
|
||||
|
||||
func _make_visible(visible):
|
||||
if main_panel:
|
||||
main_panel.visible = visible
|
||||
main_panel.call_deferred("reopen_current_sheet")
|
||||
|
||||
|
||||
func _get_plugin_name():
|
||||
return "Dialog"
|
||||
|
||||
|
||||
func _get_plugin_icon():
|
||||
return viewport_icon#get_editor_interface().get_base_control().get_icon("Node", "EditorIcons")
|
||||
|
||||
func _save_external_data():
|
||||
if main_panel:
|
||||
main_panel._save_external_data()
|
Reference in New Issue
Block a user