blob: 1a9c1b1f72661f139b66f9caf673ac04dc71ca7a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
extends Node
var fsm: StateMachine
func enter():
if fsm.DEBUG:
print("Got inside %s." % name)
func exit(next_state):
fsm.change_to(next_state)
func physics_process(delta: float) -> void:
fsm.rotate_on_input()
fsm.player.velocity = fsm.player.direction * Global.SNAKE_SPEED
fsm.player.velocity = fsm.player.move_and_slide(fsm.player.velocity)
fsm.slow_down_on_collisions(Global.SNAKE_SPEED_BACKUP)
func input(event: InputEvent) -> void:
if fsm.player.can_dash and event.is_action_pressed("dash"):
exit("DashState")
if fsm.player.can_slow and event.is_action_pressed("slow"):
exit("SlowState")
if fsm.player.can_jump and event.is_action_pressed("jump"):
exit("JumpState")
|