4 @onready var player: Player = $".."
5 @onready var camera: Camera3D = %camera
7 @onready var moves: Dictionary = {
14 "fallToRoll": $FallToRoll,
15 "fallToLanding": $FallToLanding
17 var current_move: Move
22 func _ready() -> void:
23 # assign starting state
24 current_move = moves["idle"]
26 # assign objects to each move
27 for move in moves.values():
32 func update(input: InputPacket, delta: float):
33 var relevent_move := current_move.should_enter(input)
34 if moves[relevent_move] != current_move:
35 switch_to(relevent_move)
36 current_move.update(input, delta)
39 func switch_to(state: String):
41 current_move.on_exit_state()
42 current_move = moves[state]
43 current_move.on_enter_state()