@icon("res://icons/turn_action.svg") extends ActionDecider @export var mover: Mover func poll_movement_dir(): var movement_dir = Vector2i.ZERO if Input.is_action_pressed("move_up"): movement_dir = Vector2i.UP elif Input.is_action_pressed("move_down"): movement_dir = Vector2i.DOWN elif Input.is_action_pressed("move_left"): movement_dir = Vector2i.LEFT elif Input.is_action_pressed("move_right"): movement_dir = Vector2i.RIGHT return movement_dir func _input(event: InputEvent) -> void: if not is_deciding(): return if event is InputEventKey: if event.is_pressed(): match event.keycode: KEY_SPACE: print("skip turn!") if try_perform(SkipAction.new()): return func _process(_delta: float) -> void: if not is_deciding(): return var movement_dir = poll_movement_dir() if movement_dir != Vector2i.ZERO: if try_perform(MoveAction.new(mover, movement_dir)): return