Advertisement
Tarodev

Explosive

Jun 22nd, 2021
3,915
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.90 KB | None | 0 0
  1. using UnityEngine;
  2. public class Explosive : MonoBehaviour {
  3.     [SerializeField] private float _triggerForce = 0.5f;
  4.     [SerializeField] private float _explosionRadius = 5;
  5.     [SerializeField] private float _explosionForce = 500;
  6.     [SerializeField] private GameObject _particles;
  7.  
  8.     private void OnCollisionEnter(Collision collision) {
  9.         if (collision.relativeVelocity.magnitude >= _triggerForce) {
  10.             var surroundingObjects = Physics.OverlapSphere(transform.position, _explosionRadius);
  11.  
  12.             foreach (var obj in surroundingObjects) {
  13.                 var rb = obj.GetComponent<Rigidbody>();
  14.                 if (rb == null) continue;
  15.  
  16.                 rb.AddExplosionForce(_explosionForce, transform.position, _explosionRadius,1);
  17.             }
  18.  
  19.             Instantiate(_particles, transform.position, Quaternion.identity);
  20.  
  21.             Destroy(gameObject);
  22.         }
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement