33 lines
894 B
C#
33 lines
894 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace UnityStandardAssets.Effects
|
|
{
|
|
public class ExplosionPhysicsForce : MonoBehaviour
|
|
{
|
|
public float explosionForce = 4f;
|
|
|
|
private IEnumerator Start()
|
|
{
|
|
yield return null;
|
|
float multiplier = GetComponent<ParticleSystemMultiplier>().multiplier;
|
|
float num = 10f * multiplier;
|
|
Collider[] array = Physics.OverlapSphere(transform.position, num);
|
|
List<Rigidbody> list = new List<Rigidbody>();
|
|
Collider[] array2 = array;
|
|
foreach (Collider collider in array2)
|
|
{
|
|
if (collider.attachedRigidbody != null && !list.Contains(collider.attachedRigidbody))
|
|
{
|
|
list.Add(collider.attachedRigidbody);
|
|
}
|
|
}
|
|
foreach (Rigidbody item in list)
|
|
{
|
|
item.AddExplosionForce(explosionForce * multiplier, transform.position, num, 1f * multiplier, ForceMode.Impulse);
|
|
}
|
|
}
|
|
}
|
|
}
|