Bonjour, je suis très débutant sur Unity (j’apprends sur le tas et avec des tutos) et je n’arrive pas à régler un bug avec mon IA :

Dès qu’elle touche mon joueur, elle devient immortel, je comprend pas pourquoi.
Merci de me venir en aide, je vous montre le script de l’IA et des dégâts de la balle plus bas

  • Script IA :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class EnemyLife : MonoBehaviour
{
    static public float Life = 100f;
    [SerializeField] private GameObject effectsPrefab;
    [SerializeField] private float effectDisplayTime = 3.0f;
    public NavMeshAgent enemy;
    public Transform player;

    public void FixedUpdate()
    {

    }


    void Update()
    {
        enemy.SetDestination(player.position);
    }

    public void TakeDammage(float amount)
    {
        Life -= amount;
        if (Life <= 0)
        {
            Die();
        }
    }

    private void Die()
    {
        GameObject effect = Instantiate(effectsPrefab, transform.position, Quaternion.identity);
        Destroy(effect, effectDisplayTime);
        Destroy(gameObject);
    }

}

  • Script Dégât de la balle :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DamageMachingGun : MonoBehaviour`
{
    public float Damage;
    public float explosionRadius = 0f;
    [SerializeField] private bool explodeOnCollision = false;
    [SerializeField] private GameObject effectsPrefab;
    [SerializeField] private float effectDisplayTime = 3.0f;

    void FixedUpdate()
    {
        Exploid();
    }

    void Exploid()
    {
        Collider[] colliders = Physics.OverlapSphere(transform.position, explosionRadius);
        foreach (Collider collider in colliders)
        {
            if (collider.tag == "Enemy")
            {
                BulletDamage(collider.transform);
            }
        }
    }
    
    void BulletDamage(Transform enemy)
    {
        EnemyLife e = enemy.GetComponent<EnemyLife>();
        if (e != null)
        {
            e.TakeDammage(Damage);
            DoExplosion();
            Destroy(gameObject);
        }
        else
        {
            Debug.LogError("Pas de script Enemy sur l'ennemi");
        }
    }
    private void DoExplosion()
    {
        HandleEffects();
    }

    private void HandleEffects()
    {
        if (effectsPrefab != null)
        {
            GameObject effect = Instantiate(effectsPrefab, transform.position, Quaternion.identity);
            Destroy(effect, effectDisplayTime);
        }
    }
    private void OnCollisionEnter(Collision collision)
    {
        if (explodeOnCollision && enabled)
        {
            Destroy(gameObject);
            DoExplosion();
        }
    }
}

Merci d’avance pour votre aide.