using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Eksplozja : MonoBehaviour
{
    [SerializeField] private GameObject prefabEksplozja;
    [Header("Opcje")]
    [Range(1.0f, 10.0f)]
    [SerializeField]
    private float PromienOdrzutu = 5.0f;
    [Range(10.0f, 100.0f)]
    [SerializeField]
    private float SilaOdrzutu = 20.0f;
    private float skladowaSilaPion = 5.0f;

    private void Odrzut()
    {
        //zrob list obiektw kolidujacych wewntrz zadanej sfery
        Collider[] kolizje = Physics.OverlapSphere(transform.position, PromienOdrzutu); 
        foreach (Collider c in kolizje) 
           { 
              Rigidbody rb=c.GetComponent<Rigidbody>();
            if (rb != null )
              rb.AddExplosionForce(SilaOdrzutu,
                                   transform.position,
                                   PromienOdrzutu, 
                                   skladowaSilaPion, 
                                   ForceMode.Impulse);
           }
    }

    private void OnDestroy()
    {
        //utwrz obiekt eksplozji
        GameObject e = Instantiate(prefabEksplozja,
                       transform.position,
                       transform.rotation);
        //usu obiekt eksplozji
        Destroy(e, 2.5f);
        //wcz odrzut
        Odrzut();
    }
}
