]> Untitled Git - frog-ninja.git/blobdiff - player/model.gd
Added shooting, more proper sword stuff
[frog-ninja.git] / player / model.gd
index 05564a8e969b30b9ed0723510e9e971b4f8d9a4b..71415a674d15aa1c64f5ea8df6724a601eb4d0d4 100644 (file)
@@ -7,7 +7,10 @@ class_name PlayerModel
 @onready var moves: Dictionary = {
        "idle": $Idle,
        "walk": $Walk,
-       "dash": $Dash
+       "slash": $Slash,
+       "shoot": $Shoot,
+       "dash": $Dash,
+       "fall": $Fall
 }
 var current_move: Move
 
@@ -15,22 +18,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()