public void Explode() { Collider[] col = Physics.OverlapSphere(transform.position, 2f); //StartCoroutine ("ExplosionRadius"); StartCoroutine("ExplosionExpansion", 5f); foreach (Collider hit in col) { Rigidbody r = hit.GetComponent <Rigidbody> (); float Force = 5f; if (r) { ShipClass c = rb.GetComponent <ShipClass> (); if (c) { if (!c.screens.ShieldsWillHold(20f * (1f / Vector3.Distance(c.transform.position, transform.position)), transform.position, c.transform)) { r.AddExplosionForce(Force, transform.position, 5f, 0f); } c.Damage(20f * (2f / Vector3.Distance(c.transform.position, transform.position)), transform.position, c.transform, Pattern); // Debug.Log (c.name); } else { r.AddExplosionForce(Force, transform.position, 5f, 0f); } } } // Destroy (render); }
public void DealDamage(float dam, Vector3 origin, Transform en, List <Int2> pattern) { shipClass.Damage(dam, origin, en, pattern); }