35 lines
801 B
GDScript
35 lines
801 B
GDScript
extends RigidBody3D
|
|
|
|
@export var health := 1
|
|
@export var explosion_particles: PackedScene
|
|
|
|
var game_manager: Node = null
|
|
|
|
func _ready():
|
|
# GameManager finden
|
|
game_manager = get_tree().get_first_node_in_group("game_manager")
|
|
if not game_manager:
|
|
game_manager = get_node_or_null("/root/Main/GameManager")
|
|
|
|
func take_damage(damage: int):
|
|
health -= damage
|
|
|
|
if health <= 0:
|
|
destroy()
|
|
|
|
func destroy():
|
|
# Punkte geben
|
|
if game_manager and game_manager.has_method("on_blue_cube_destroyed"):
|
|
game_manager.on_blue_cube_destroyed()
|
|
|
|
# Partikeleffekt spawnen
|
|
if explosion_particles:
|
|
var particles = explosion_particles.instantiate()
|
|
get_parent().add_child(particles)
|
|
particles.global_position = global_position
|
|
|
|
# Sound abspielen (später hinzufügen)
|
|
|
|
# Würfel entfernen
|
|
queue_free()
|