123456789101112131415161718192021222324252627282930313233343536373839 |
- @tool
- class_name Brique
- extends StaticBody2D
- const EclatementScene: PackedScene = preload("res://effets/eclatement_brique/eclatement_effet.tscn")
- const nombre_de_vies_max: int = 4
- ## Le nombre de coups necessaires pour detruire la brique.
- @export_range(1, nombre_de_vies_max) var nombre_de_vies: int = 1:
- set = set_nombre_de_vies
- func _ready() -> void:
- _montrer_nombre_vies()
- func frapper(nb_degats: int) -> void:
- nombre_de_vies -= nb_degats
- if nombre_de_vies <= 0:
- _mourir()
- func _montrer_nombre_vies() -> void:
- var nouvelle_couleur: Color = Color.WHITE * (nombre_de_vies_max - nombre_de_vies) / (nombre_de_vies_max - 1)
- nouvelle_couleur.a = 1.0 # rendre opaque
- set_modulate(nouvelle_couleur)
- func _mourir() -> void:
- queue_free()
- var effet_eclatement: Node2D = EclatementScene.instantiate()
- effet_eclatement.position = self.position
- add_sibling(effet_eclatement)
- func set_nombre_de_vies(nb: int) -> void:
- nombre_de_vies = nb
- _montrer_nombre_vies()
|