65 lines
1.4 KiB
GDScript3
Raw Normal View History

@tool
extends EditorPlugin
var editor_dock:EditorDock = null
var animation_graph_editor:AnimationGraphEditor = null
func _enable_plugin() -> void:
# Add autoloads here.
pass
func _disable_plugin() -> void:
# Remove autoloads here.
pass
func _enter_tree() -> void:
editor_dock = EditorDock.new()
editor_dock.title = "Animation Graph"
editor_dock.default_slot = EditorDock.DOCK_SLOT_BOTTOM
animation_graph_editor = preload ("res://addons/blendalot/animation_graph_editor.tscn").instantiate()
editor_dock.add_child(animation_graph_editor)
add_dock(editor_dock)
func _exit_tree() -> void:
remove_dock(editor_dock)
editor_dock.queue_free()
editor_dock = null
animation_graph_editor.queue_free()
animation_graph_editor = null
func _has_main_screen() -> bool:
return false
func _make_visible(visible):
pass
func _get_plugin_name():
return "Blendalot"
func _get_plugin_icon():
return EditorInterface.get_editor_theme().get_icon("Node", "EditorIcons")
2026-01-24 15:39:12 +01:00
func _handles(obj: Object) -> bool:
return obj is BLTAnimationNodeBlendTree
func _edit(object: Object):
if not is_instance_valid(animation_graph_editor):
push_error("Cannot edit object as AnimationGraphEditor is not initialized")
return
if object is BLTAnimationNodeBlendTree:
animation_graph_editor.edit_animation_root_node(object)
return
print("Cannot (yet) edit object " + str(object))