Add death effect and sound to PlayerDeathComponent; reset player state on death
This commit is contained in:
@@ -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")
|
||||
|
Reference in New Issue
Block a user