瀏覽代碼

Colorise les capsules de pouvoir

DricomDragon 10 月之前
父節點
當前提交
0c2e247ca2

+ 7 - 1
godot/composants/objets/capsule/capsule.gd

@@ -5,13 +5,19 @@ extends Node2D
 
 const VITESSE_DESCENTE: float = 50.0 # px / sec
 
-var pouvoir: PouvoirBase = null
+var pouvoir: PouvoirBase = null:
+	set=set_pouvoir
 
 
 func _physics_process(delta: float) -> void:
 	_descendre(delta)
 
 
+func set_pouvoir(nouveau_pouvoir: PouvoirBase) -> void:
+	modulate = nouveau_pouvoir.couleur_principale()
+	pouvoir = nouveau_pouvoir
+
+
 func _descendre(delta: float) -> void:
 	position.y += VITESSE_DESCENTE * delta
 

+ 5 - 0
godot/composants/pouvoirs/commun/base_pouvoir.gd

@@ -6,3 +6,8 @@ class_name PouvoirBase
 ## Fonction a surcharger pour chaque pouvoir
 func declencher_pouvoir(_arbre_scene: SceneTree) -> void:
 	assert(false, "Un pouvoir doit obligatoirement surcharger cette fonction !")
+
+
+## Fonction que vous pouvez surcharger pour definir la couleur principale
+func couleur_principale() -> Color:
+	return Color.WHITE

+ 4 - 0
godot/composants/pouvoirs/pouvoir_feu.gd

@@ -7,3 +7,7 @@ func declencher_pouvoir(arbre_scene: SceneTree) -> void:
 	for balle in arbre_scene.get_nodes_in_group("groupe_des_balles"):
 		assert(balle is Balle, "Le groupe_des_balles ne doit contenir que des Balle !")
 		BalleDeFeu.transformer(balle)
+
+
+func couleur_principale() -> Color:
+	return Color.RED