Example #1
0
 // Start is called before the first frame update
 void Start()
 {
     agent                  = GetComponent <NavMeshAgent>();
     triggerCollider        = GetComponent <SphereCollider>();
     enemyLife              = GetComponent <EnemyDataLife>();
     isDeath                = false;
     positionOriginal       = transform.position;
     triggerCollider.radius = radio;
 }
    private void doExplosion(Vector3 point)
    {
        Collider[] objetosExplotados = Physics.OverlapSphere(point, radius, layerEx);

        foreach (Collider col in objetosExplotados)
        {
            Rigidbody rb = col.GetComponent <Rigidbody>();

            if (rb != null)
            {
                if (col.tag == "Enemy")
                {
                    EnemyDataLife dataLife = col.GetComponent <EnemyDataLife>();
                    float         distance = Vector3.Distance(col.transform.position, transform.position);
                    float         damage   = (distance * 100) / radius;
                    dataLife.addDamage(damage);
                }
                rb.AddExplosionForce(forceExplosion, point, radius, 0.05f, ForceMode.Impulse);
            }
        }
    }
Example #3
0
 // Start is called before the first frame update
 void Start()
 {
     targetFound = false;
     nextFire    = Time.time + fireRate;
     enemyLife   = transform.parent.gameObject.GetComponent <EnemyDataLife>();
 }
 void Start()
 {
     enemyLife = gameObject.GetComponentInParent <EnemyDataLife>();
 }