Files
5.24BuYu/Assets/GG Camera Shake/Samples/Explosion/Scripts/Explosion.cs
T
2026-04-21 23:02:51 +08:00

25 lines
742 B
C#

using UnityEngine;
public class Explosion : MonoBehaviour
{
public float force;
public GameObject particles;
public void Explode()
{
Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, 5);
Instantiate(particles, transform);
foreach (var collider in colliders)
{
if (collider.GetComponent<Rigidbody2D>() != null)
{
Vector2 vec = collider.transform.position - transform.position;
float mag = vec.magnitude;
vec.Normalize();
collider.GetComponent<Rigidbody2D>().
AddForce(vec * force * Mathf.Clamp01(1 / mag), ForceMode2D.Impulse);
}
}
}
}