]> Untitled Git - frog-ninja.git/blob - player/moves/shoot.gd
Made Model its own scene
[frog-ninja.git] / player / moves / shoot.gd
1 extends Walk
2 class_name Shoot
3
4
5 var finished := false
6 const shoot_walk_speed := 1.0
7
8
9 func should_enter(input: InputPacket) -> String:
10         if finished:
11                 input.actions.sort_custom(moves_priority_sort)
12                 return input.actions[0]
13         return "shoot"
14
15
16 func update(input: InputPacket, delta: float):
17         player.velocity = get_new_velocity_from_input(input, delta, shoot_walk_speed)
18         player.move_and_slide()
19         update_skin(delta)
20
21
22 func on_enter_state():
23         finished = false
24         player.skin.animation_tree.animation_finished.connect(_on_animation_finished)
25         player.skin.transition_shoot()
26
27
28 func _on_animation_finished(_name: String):
29         # TODO: make sure animation is finished by using name
30         finished = true
31         player.skin.animation_tree.animation_finished.disconnect(_on_animation_finished)