[[Développement Unity]]
# Coder la disparition des cœurs
Dans un premier temps, dans le script **Health**, nous allons déclarer nos cœurs dans une liste afin de pouvoir toujours supprimer le premier de la liste, il faudra toujours mettre le dernier cœur dans l'espace 0 de la liste.
```
// Déclaration de la liste Création de la liste
public List<GameObject> heartsUI = new List<GameObject>();
```
On va aussi déclarer le **Sprite** du cœur vide :
```
public Sprite heartEmpty;
```
Dans la fonction **OnCollisionEnter**, on va remplacer le cœur contenu dans le premier élément de la liste par un cœur vide :
```
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Enemy"))
{
healthPoint--;
//Je récupère le sprite contenu dans le coeur assigné dans la liste à la place du nombre de PV restant pour le remplacer par le sprite du coeur vide
heartsUI[healthPoint].GetComponent<UnityEngine.UI.Image>().sprite = heartEmpty;
}
```
**Ctrl + S**
Glissez déposez les cœurs dans le script health du player :
![[Code et Développement/Développement d'Applications/Développement Unity/ressources/image (6).png]]
Définir le tag de l'ennemi avec le tag **Enemy**
Maintenant, lorsque le joueur entre en collision avec l'ennemi, un cœur s'enlève :
![[hearts.gif]]
**Ctrl + S**
---