]> purplebirdman git - frog-ninja.git/blob - asset/character/model/state/falling_state.gd
Squashed commit of the following:
[frog-ninja.git] / asset / character / model / state / falling_state.gd
1 extends MovingState
2 class_name FallingState
3
4
5 @export var fall_landing_limit: float
6 @export var fall_roll_limit: float
7
8 var _landing_type := ""
9
10 func should_enter(input: InputPacket) -> String:
11         if not player.is_on_floor():
12                 input.player_actions.append("fall")
13         elif not _landing_type.is_empty():
14                 input.player_actions.append(_landing_type)
15                 
16         input.player_actions.sort_custom(states_priority_sort)
17         return input.player_actions[0]
18
19
20 func update(_input: InputPacket, delta: float):
21         player.velocity += player.get_gravity() * delta
22         
23         if abs(player.velocity.y) > fall_landing_limit:
24                 if abs(player.velocity.y) > fall_roll_limit:
25                         _landing_type = "fallToRoll"
26                 else:
27                         _landing_type = "fallToLanding"
28         
29         player.move_and_slide()