SchildDerStaerke/scripts/item_desctructable.gd

23 lines
593 B
GDScript

class_name DesctructableItem extends Item
@onready var particles: GPUParticles3D = $Particles
@onready var mesh: MeshInstance3D = $Mesh
@onready var sfx: AudioStreamPlayer3D = $SFX
func _ready() -> void:
particles.one_shot = true
state_changed.connect(_on_state_changed)
health_changed.connect(_on_health_changed)
func _on_particles_finished() -> void:
destroy_item()
func _on_state_changed(new_state: States) -> void:
match new_state:
States.destroyed:
particles.emitting = true
mesh.queue_free()
func _on_health_changed(_health: int, _max_health: int) -> void:
sfx.play()