progress.
This commit is contained in:
62
addons/cutscene_editor/editor/nodes/AnimationActionNode.gd
Normal file
62
addons/cutscene_editor/editor/nodes/AnimationActionNode.gd
Normal file
@@ -0,0 +1,62 @@
|
||||
@tool
|
||||
class_name AnimationActionNode
|
||||
extends "res://addons/cutscene_editor/editor/nodes/BaseGraphNode.gd"
|
||||
|
||||
# Node for AnimationAction
|
||||
|
||||
func _init() -> void:
|
||||
node_type = "animation"
|
||||
node_id = "animation_" + str(randi())
|
||||
title = "Animation"
|
||||
modulate = Color(0.8, 0.4, 0.8) # Purple
|
||||
|
||||
# One input and one output connection
|
||||
var slot = 0
|
||||
set_slot(slot, true, 0, Color(0, 0, 0), true, 0, Color(0, 0, 0))
|
||||
|
||||
func _ready() -> void:
|
||||
super._ready()
|
||||
# Initialize default parameters
|
||||
action_parameters["character"] = ""
|
||||
action_parameters["animation_name"] = ""
|
||||
action_parameters["loop"] = false
|
||||
|
||||
func _setup_parameter_fields() -> void:
|
||||
# Character field
|
||||
var char_label = Label.new()
|
||||
char_label.text = "Character:"
|
||||
add_child(char_label)
|
||||
|
||||
var char_field = LineEdit.new()
|
||||
char_field.text = action_parameters["character"]
|
||||
char_field.connect("text_changed", _on_character_changed)
|
||||
add_child(char_field)
|
||||
|
||||
# Animation name field
|
||||
var anim_label = Label.new()
|
||||
anim_label.text = "Animation:"
|
||||
add_child(anim_label)
|
||||
|
||||
var anim_field = LineEdit.new()
|
||||
anim_field.text = action_parameters["animation_name"]
|
||||
anim_field.connect("text_changed", _on_animation_changed)
|
||||
add_child(anim_field)
|
||||
|
||||
# Loop checkbox
|
||||
var loop_label = Label.new()
|
||||
loop_label.text = "Loop:"
|
||||
add_child(loop_label)
|
||||
|
||||
var loop_checkbox = CheckBox.new()
|
||||
loop_checkbox.button_pressed = action_parameters["loop"]
|
||||
loop_checkbox.connect("toggled", _on_loop_toggled)
|
||||
add_child(loop_checkbox)
|
||||
|
||||
func _on_character_changed(new_text: String) -> void:
|
||||
set_parameter("character", new_text)
|
||||
|
||||
func _on_animation_changed(new_text: String) -> void:
|
||||
set_parameter("animation_name", new_text)
|
||||
|
||||
func _on_loop_toggled(button_pressed: bool) -> void:
|
||||
set_parameter("loop", button_pressed)
|
||||
Reference in New Issue
Block a user