private void ShieldBurst(PlayerController center) { float radius = powerUpManager.GetBurstRadius(); float force = powerUpManager.GetBurstForce(); Vector3 direction; Vector2 pushForce; int pnum, cnum = center.GetPlayerNumber(); foreach (PlayerController player in playerControllers) { pnum = player.GetPlayerNumber(); if (pnum == cnum || !player.isActiveAndEnabled) { continue; } direction = player.transform.position - center.transform.position; if (direction.magnitude < radius) { pushForce = new Vector2(direction.normalized.x, direction.normalized.y); pushForce *= force; player.GetComponent <Rigidbody2D>().AddForce(pushForce); } } foreach (GameObject ball in balls) { direction = ball.transform.position - center.transform.position; if (direction.magnitude < radius) { pushForce = new Vector2(direction.normalized.x, direction.normalized.y); pushForce *= force; ball.GetComponent <Rigidbody2D>().AddForce(pushForce); } } }