public override void Die()
    {
        if (spawner != null)
        {
            spawner.EnemyDied(enemy);
        }

        if (enemy.targetPlant != null)
        {
            enemy.targetPlant.StoppedEating();
        }
        enemy.Die();

        Vector3 clampedLocation = FindDropLocation();

        if (clampedLocation.y != 5f)
        {
            if (enemy.HasConsumedPlant())
            {
                SpawnRockAtLocation(clampedLocation);
            }
            else
            {
                SpawnPoisonAtLocation(clampedLocation);
            }
        }

        Transform particles = Instantiate(enemy.HasConsumedPlant() ? spawner.enemyStrongDeathFX : spawner.enemyDeathFX, transform.position, Quaternion.identity);

        Destroy(particles.gameObject, 1f);

        Destroy(gameObject);
    }