Example #1
0
    void Explode()
    {
        Instantiate(explosionEfect, transform.position, zero.rotation);

        Collider[] collidersDumage = Physics.OverlapSphere(transform.position, BlastR);
        foreach (Collider nearbyObject in collidersDumage)
        {
            HP        dest = nearbyObject.GetComponent <HP>();
            Transform tr   = nearbyObject.GetComponent <Transform>();
            if (dest != null)
            {
                P         = (tr.position - transform.position).sqrMagnitude;
                Dumage1   = BlastR * BlastR * Dumage0 / P;
                HP.dumage = Dumage1;
                dest.Dumage();
            }
        }

        Collider[] collidersMove = Physics.OverlapSphere(transform.position, BlastR);
        foreach (Collider nearbyObject in collidersMove)
        {
            Rigidbody rb = nearbyObject.GetComponent <Rigidbody>();
            if (rb != null)
            {
                rb.AddExplosionForce(BlastF, transform.position, BlastR);
            }
        }

        gameObject.SetActive(false);
        hasExploded = false;
    }
Example #2
0
    void Explode()
    {
        Instantiate(explosionEfect, transform.position, zero.rotation);

        Collider[] collidersDumage = Physics.OverlapSphere(transform.position, BlastR);
        foreach (Collider nearbyObject in collidersDumage)
        {
            HP dest = nearbyObject.GetComponent <HP>();
            if (dest != null)
            {
                HP.dumage = Dumage;
                dest.Dumage();
            }
        }

        Collider[] collidersMove = Physics.OverlapSphere(transform.position, BlastR);
        foreach (Collider nearbyObject in collidersMove)
        {
            Rigidbody rb = nearbyObject.GetComponent <Rigidbody>();
            if (rb != null)
            {
                rb.AddExplosionForce(BlastF, transform.position, BlastR);
            }
        }

        Destroy(gameObject);
    }
Example #3
0
    void Shote()
    {
        muzzleFlash.Play();

        RaycastHit hit;

        if (Physics.Raycast(FPScam.transform.position, FPScam.transform.forward, out hit, Range))
        {
            HP hp = hit.transform.GetComponent <HP>();
            if (hp != null)
            {
                HP.dumage = Dumage;
                hp.Dumage();
            }

            if (hit.rigidbody != null)
            {
                hit.rigidbody.AddForce(-hit.normal * ImpactForce);
            }

            correntAmo--;
        }
    }