@tool class_name MoveActionNode extends "res://addons/cutscene_editor/editor/nodes/BaseGraphNode.gd" # Node for MoveAction func _init() -> void: node_type = "move" name = "move_" + str(randi()) title = "Move" modulate = Color(0.4, 0.6, 1.0) # Blue # 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["target_x"] = 0.0 action_parameters["target_y"] = 0.0 action_parameters["speed"] = 100.0 func set_parameter(pname, value) -> void: super.set_parameter(name, value) if pname == "character": $VBoxContainer/CharacterEDit.text = value elif pname == "target_x": $VBoxContainer/HBoxContainer/x.text = value elif pname == "target_y": $VBoxContainer/HBoxContainer/y.text = value elif pname == "speed": $VBoxContainer/speed.text = value func _on_character_changed(new_text: String) -> void: set_parameter("character", new_text) func _on_target_x_changed(new_text: String) -> void: var value = float(new_text) if new_text.is_valid_float() else 0.0 set_parameter("target_x", value) func _on_target_y_changed(new_text: String) -> void: print("toarget y") var value = float(new_text) if new_text.is_valid_float() else 0.0 set_parameter("target_y", value) func _on_speed_changed(new_text: String) -> void: print("speed") var value = float(new_text) if new_text.is_valid_float() else 100.0 set_parameter("speed", value)