Improvements

This commit is contained in:
2024-01-21 18:18:15 +01:00
parent 9e3deaf3b0
commit 3f465a708c
9 changed files with 101 additions and 30 deletions

View File

@@ -14,6 +14,12 @@ var state: State = State.IDLE
@export
var animation_player: AnimationPlayer
@export
var sprite: Sprite2D
@export
var detection_area: Area2D
var _chase_target: Node2D
var _target_is_left: bool = false
@@ -29,9 +35,13 @@ func _play_animation(animation: String) -> void:
animation_player.play(animation)
func _on_ready() -> void:
self.detection_area.body_entered.connect(self._on_detection_area_entered)
func _process(delta: float) -> void:
var animation_name = str(State.keys()[self.state]).to_lower()
self._play_animation(animation_name)
sprite.flip_h = self._target_is_left
func _physics_process(delta: float) -> void:
match self.state:
@@ -39,4 +49,11 @@ func _physics_process(delta: float) -> void:
if not self._chase_target:
self.state = State.IDLE
pass
self._target_is_left = self._chase_target.position.x < self.position.x
func _on_detection_area_entered(body: CollisionObject2D) -> void:
match state:
State.IDLE:
if body is Player:
self._chase_target = body
self.state = State.CHASE