Files
FallBotsB3/Assets/_Content/Scripts/RocketExplosion.cs
2026-06-08 14:48:14 +02:00

61 lines
1.4 KiB
C#

using UnityEngine;
public class RocketExplosion : MonoBehaviour
{
[System.Serializable]
public class References
{
public ParticleSystem Explosion;
}
[System.Serializable]
public class Settings
{
public float Radius = 5;
public float Strength = 1000;
}
[SerializeField] private References _references;
[SerializeField] private Settings _settings;
//private float radius;
//private float time;
void Start()
{
Vector3 originPos = transform.position;
Collider[] colliders = Physics.OverlapSphere(originPos, _settings.Radius);
foreach (Collider hit in colliders)
{
Rigidbody rb = hit.GetComponent<Rigidbody>();
if (rb != null)
{
float strength = _settings.Strength;
strength *= 1 - Vector3.Distance(originPos, hit.transform.position) / _settings.Radius;
rb.AddExplosionForce(strength, originPos, _settings.Radius);
}
}
}
/*void Awake()
{
radius = 1;
_references.Explosion.Play();
}
void Update()
{
radius += Time.deltaTime * 15;
_references.Collider.radius = radius <= _settings.Radius ? radius : 0;
// Destroy after 5 seconds
time += Time.deltaTime;
if (time > 5)
Destroy(gameObject);
}*/
}