class_name ConteneurDeBriques
extends Node2D


signal plus_de_briques

## Doit etre un script de type Mouvement
@export var mouvement: Script

@onready var nombre_enfants: int = get_children().size()


func _ready() -> void:
	for node: Node in get_children():
		assert(node is Brique or node is ConteneurDeBriques, "Ne peut contenir que des briques")
		if node is Brique:
			var brique: Brique = node as Brique
			brique.eclatee.connect(_quand_enfant_detruit)
		elif node is ConteneurDeBriques:
			var contenant: ConteneurDeBriques = node as ConteneurDeBriques
			contenant.plus_de_briques.connect(_quand_enfant_detruit)


func _physics_process(delta: float) -> void:
	if mouvement == null:
		return

	mouvement.bouger(self, delta)


func _quand_enfant_detruit() -> void:
	nombre_enfants -= 1
	if nombre_enfants <= 0:
		plus_de_briques.emit()
