using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;

public class TrafienieWTarcze : MonoBehaviour
{
    [SerializeField]GameObject[] prefabLiczba=new GameObject[10];
    private Vector3[] tab = new Vector3[] {
        new Vector3(0.32f,0,0),
        new Vector3(0.32f,0.086f,0.024f),
        new Vector3(0.32f,0.172f,0.049f),
        new Vector3(0.32f,0.358f,0.101f),
        new Vector3(0.32f,0.448f,0.126f),
        new Vector3(0.32f,0.539f,0.151f),
        new Vector3(0.32f,0.628f,0.176f),
        new Vector3(0.32f,0.718f,0.201f),
        new Vector3(0.32f,0.809f,0.226f),
        new Vector3(0.32f,0.897f,0.251f)
    };
    private float[] granica = new float[10];

    void Start()
    {
        //rb granice punktowe obszarw trafie
        for(int i = 0; i < granica.Length; i++)
        {
            granica[i] = new Vector3(0,
                                  tab[i].y * transform.localScale.y,
                                  tab[i].z * transform.localScale.z).magnitude;
            Debug.Log("Granica:" + granica[i].ToString());
        }
        
    }
    
    void OnTriggerEnter(Collider o)
    {
        if (o.tag == "kula")
        {
            //poka w debugerze wspzredne uderzenia pocisku
            Debug.Log(o.ClosestPoint(transform.position).ToString());
            Vector3 odleglosc = o.ClosestPoint(transform.position)-transform.position;
            float odl=  new Vector3(0,
                                  odleglosc.y,
                                  odleglosc.z).magnitude;
            //pokaz punkty z indeksu okrgu trafienia
            //0 to 10,1 to 9, itd...
            int pkt = 0;
            for(int i = 0;i < granica.Length; i++)
                if (odl > granica[i]) pkt = granica.Length-i;
            //rob prefabrykat liczby
            GameObject p = Instantiate(prefabLiczba[pkt-1],
                           o.ClosestPoint(transform.position),
                           Quaternion.Euler(-90, 0, 0));
            //Ustaw czas zycia liczby na 2.5 sekundy
            Destroy(p, 2.5f);
            //zniszcz kule
            Destroy(o.gameObject);
        }
    }
}
