X-Git-Url: http://git.purplebirdman.com/frog-ninja.git/blobdiff_plain/16f5fda45ed2a668758450eff052e0903d7ef3ae..38bec94dddbd6aa14799d7af8e3259dbcf8f682b:/player/model.gd diff --git a/player/model.gd b/player/model.gd index 05564a8..c32e2bc 100644 --- a/player/model.gd +++ b/player/model.gd @@ -7,7 +7,12 @@ class_name PlayerModel @onready var moves: Dictionary = { "idle": $Idle, "walk": $Walk, - "dash": $Dash + "slash": $Slash, + "shoot": $Shoot, + "dash": $Dash, + "fall": $Fall, + "fallToRoll": $FallToRoll, + "fallToLanding": $FallToLanding } var current_move: Move @@ -15,22 +20,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()