]> Untitled Git - frog-ninja.git/blob - player/moves/Move.gd
Refactoring
[frog-ninja.git] / player / moves / Move.gd
1 extends Node
2 class_name Move
3
4 ###
5 # flags and variables here
6 var player: Player
7 var camera: Camera3D
8 @export var state_name: String
9
10
11 # enums are prioritized by order of list
12 static var moves_priority: Dictionary = {
13         "idle": 0,
14         "walk": 1,
15         "slash": 2,
16         "shoot": 3,
17         "dash": 50,
18         "fall": 100,
19         "fallToLanding": 101,
20         "fallToRoll": 102,
21 }
22
23 static func moves_priority_sort(a: String, b: String):
24         return moves_priority[a] > moves_priority[b]
25
26 ###
27
28 func should_enter(input: InputPacket) -> String:
29         if not player.is_on_floor():
30                 input.player_actions.append("fall")
31         input.player_actions.sort_custom(moves_priority_sort)
32         return input.player_actions[0]
33
34
35 func update(_input: InputPacket, _delta: float):
36         pass
37
38
39 func on_enter_state():
40         pass
41
42
43 func on_exit_state():
44         pass
45
46
47 func _on_animation_started(_animation_name: String):
48         pass
49
50
51 func _on_animation_finished(_animation_name: String):
52         pass