void ExecuteExplosion() { float multiplier = 1f; PlayPartSysExplosion(); float r = radius * multiplier; var cols = Physics.OverlapSphere(transform.position, r); var rigidbodies = new List <Rigidbody> (); foreach (var col in cols) { if (col.attachedRigidbody != null && !rigidbodies.Contains(col.attachedRigidbody)) { rigidbodies.Add(col.attachedRigidbody); } if (col.gameObject.tag.Equals("HitedEnemy")) { EnemyDamage enemDamage = col.gameObject.GetComponent <EnemyDamage> (); enemDamage.SetDamage(100); } } foreach (var rb in rigidbodies) { rb.AddExplosionForce(explosionForce * multiplier, transform.position, r, 1 * multiplier, ForceMode.Impulse); } }
void GunShot() { foreach (Bullet nRay in seletedRay) { RaycastHit hit = new RaycastHit(); if (Physics.Raycast(nRay.Center, SumTwoVectors(nRay.vBullet, transfObj.forward * rangeshot), out hit, rangeshot)) { if (hit.collider.gameObject.tag.Equals("HitedEnemy")) { GameObject HitBlood = Instantiate(ParticleHited); HitBlood.transform.position = hit.point; HitBlood.transform.rotation = hit.transform.rotation; EnemyDamage enemDamage = hit.collider.gameObject.GetComponent <EnemyDamage> (); enemDamage.SetDamage(gunDamage); } } } Shot = false; }