conforms file names to consistant standard
This commit is contained in:
36
scripts/enemy_goal.gd
Normal file
36
scripts/enemy_goal.gd
Normal file
@@ -0,0 +1,36 @@
|
||||
class_name EnemyGoal
|
||||
extends Node3D
|
||||
|
||||
signal goal_cleared()
|
||||
signal goal_occupied()
|
||||
|
||||
@export var audio_player: AudioStreamPlayer3D
|
||||
|
||||
var enemies_inside: int
|
||||
|
||||
|
||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||
if body is EnemyController:
|
||||
body.goal_entered()
|
||||
audio_player.play()
|
||||
|
||||
|
||||
func enemy_entered_shield_range(body: Node3D) -> void:
|
||||
if body is EnemyController:
|
||||
if enemies_inside == 0:
|
||||
goal_occupied.emit()
|
||||
enemies_inside += 1
|
||||
body.died.connect(enemy_died)
|
||||
body.reached_goal.connect(enemy_reached_goal)
|
||||
|
||||
|
||||
func enemy_died(_enemy: Enemy) -> void:
|
||||
enemies_inside -= 1
|
||||
if enemies_inside == 0:
|
||||
goal_cleared.emit()
|
||||
|
||||
|
||||
func enemy_reached_goal(_enemy: Enemy, _penalty: int) -> void:
|
||||
enemies_inside -= 1
|
||||
if enemies_inside == 0:
|
||||
goal_cleared.emit()
|
||||
Reference in New Issue
Block a user