blob: 93920c647789bd995e2f572b79f8b16b83a71a5c (
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
30
31
32
33
34
35
36
37
38
39
40
41
|
class_name Player
extends CharacterBody2D
var current_state: PlayerState:
set = set_state
var current_direction: Vector2:
set = set_direction
var current_speed := 150.0
@onready var state_idle: PlayerStateIdle = %StateIdle
@onready var state_moving: PlayerStateMoving = %StateMoving
@onready var sprite: AnimatedSprite2D = $AnimatedSprite2D
@onready var ray_cast_up: RayCast2D = $RayCastUp
@onready var ray_cast_down: RayCast2D = $RayCastDown
@onready var ray_cast_left: RayCast2D = $RayCastLeft
@onready var ray_cast_right: RayCast2D = $RayCastRight
func _ready() -> void:
current_state = $States/StateIdle
func set_state(value: PlayerState) -> void:
if current_state:
current_state._state_exit()
current_state.process_mode = Node.PROCESS_MODE_DISABLED
current_state = value
current_state.process_mode = Node.PROCESS_MODE_INHERIT
current_state._state_enter()
func set_direction(value: Vector2) -> void:
current_direction = value
Game.current_direction = value
|