X-Git-Url: http://git.purplebirdman.com/frog-ninja.git/blobdiff_plain/16f5fda45ed2a668758450eff052e0903d7ef3ae..3701448ba7e2410adf79dd4a326c0d47a9cc8240:/player/model.gd?ds=inline diff --git a/player/model.gd b/player/model.gd index 05564a8..c3657b0 100644 --- a/player/model.gd +++ b/player/model.gd @@ -7,7 +7,8 @@ class_name PlayerModel @onready var moves: Dictionary = { "idle": $Idle, "walk": $Walk, - "dash": $Dash + "dash": $Dash, + "fall": $Fall } var current_move: Move @@ -15,22 +16,24 @@ var current_move: Move ### func _ready() -> void: + # assign starting state current_move = moves["idle"] - # assign player object to each move + # assign objects to each move for move in moves.values(): move.player = player move.camera = camera func update(input: InputPacket, delta: float): - var relevent_move = current_move.should_enter(input) - if not relevent_move.is_empty(): + var relevent_move := current_move.should_enter(input) + if moves[relevent_move] != current_move: switch_to(relevent_move) current_move.update(input, delta) func switch_to(state: String): + player.state = state current_move.on_exit_state() current_move = moves[state] current_move.on_enter_state()