X-Git-Url: http://git.purplebirdman.com/frog-ninja.git/blobdiff_plain/16f5fda45ed2a668758450eff052e0903d7ef3ae..e290448c2414d818fc183725d32150218218b7a3:/player/model.gd diff --git a/player/model.gd b/player/model.gd index 05564a8..862eb64 100644 --- a/player/model.gd +++ b/player/model.gd @@ -7,7 +7,9 @@ class_name PlayerModel @onready var moves: Dictionary = { "idle": $Idle, "walk": $Walk, - "dash": $Dash + "slash": $Slash, + "dash": $Dash, + "fall": $Fall } var current_move: Move @@ -15,22 +17,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()