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

public class BulletScript : MonoBehaviour
{
    public DataBullet dataBullet;
    
    public float lifetime = 3f;
    private Rigidbody rb;

    private Vector3 direction;

    private float time = 0f;

    private Ray ray;
    private RaycastHit hit;

    private void die(float lifetime){
        if(time > lifetime){
            GameObject.Destroy(this.gameObject);
        }
    }
    private void CheckForColliders(){
        if(Physics.Raycast(ray, out hit)){ //wenn true wird durch out in variable hit ein RayCastHit gespeichert
            direction = hit.point - transform.position;//Richtung in die, die Kugel fliegt
        }
    }
    private void OnCollisionEnter(Collision collision){
        Debug.Log(collision.gameObject.name);
        GameObject.Destroy(this.gameObject);
    }
    // Start is called before the first frame update
    void Start()
    {
        rb = this.GetComponent<Rigidbody>();
        
        
        ray = Camera.main.ViewportPointToRay(new Vector3(0.5f,0.5f,0f));
        CheckForColliders();
    }
    

    // Update is called once per frame
    void Update()
    {
        rb.velocity = direction.normalized * dataBullet.speed;
        die(lifetime);
        time += Time.deltaTime;
    }
}
