Add death effect and sound to PlayerDeathComponent; reset player state on death

This commit is contained in:
2025-05-03 05:53:30 +02:00
parent e10ce150f8
commit 4e5427e731
3 changed files with 30 additions and 6 deletions

View File

@@ -1,5 +1,8 @@
class_name PlayerDeathComponent
extends Node
extends Node2D
@export var death_sfx: AudioStreamPlayer2D
@export var death_effect: PackedScene
@onready var gm: GM = $"/root/GameManager"
@@ -9,6 +12,17 @@ func reset_scene() -> void:
func _on_health_component_on_death() -> void:
# todo: play audio on death
gm.remove_lives(1)
if death_sfx:
death_sfx.play()
if death_effect:
var effect: Node2D = death_effect.instantiate()
get_parent().add_child(effect)
effect.global_position = global_position
effect.scale = Vector2(1.5, 1.5)
if gm.get_lives() == 1:
gm.reset_player_state()
else:
gm.remove_lives(1)
call_deferred("reset_scene")