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; }
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); }
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--; } }