extends Node3D class_name PlayerInput @onready var status = (%Status as Status) @onready var combo = (%Combo as Combo) @onready var action = (%PlayerAction as PlayerAction) var action_map = {} func _ready(): SignalManager.connect("input_action_pressed",on_input_action_pressed) SignalManager.connect("input_action_released",on_input_action_released) SignalManager.connect("input_action_move",on_input_action_move) func on_input_action_pressed(action_name:String): if not action_name in action_map: action_map[action_name] = true else: return Global.ui_mgr.input_action(action_name,true) if Global.is_control_pause: return if not action.check_action(action_name,true): combo.add_input_action(action_name) func on_input_action_released(action_name:String): if not action_name in action_map: return action_map.erase(action_name) Global.ui_mgr.input_action(action_name,false) if Global.is_control_pause: return action.check_action(action_name,false) func on_input_action_move(input_dir): Global.ui_mgr.input_dir(input_dir) if Global.is_control_pause: return status.input_dir = input_dir