using UnityEngine;

public class GunThrown : MonoBehaviour
{
    public GameObject player;
    public Vector3 TargetPosition;

    public Vector3 targetDirection;
    public Quaternion targetRotation;

    public bool isStuck;
    public float despawnTimer = 10;
    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        player = GameObject.Find("Player");
        TargetPosition = player.transform.position;
    }

    // Update is called once per frame
    void Update()
    {
        transform.LookAt(player.transform);
        transform.rotation = Quaternion.Euler(transform.rotation.x + 55, transform.rotation.y, transform.rotation.z);
        transform.position = Vector3.MoveTowards(transform.position, TargetPosition, 10 * Time.deltaTime);

        if (transform.position == TargetPosition)
        {
            isStuck = true;
        }

        if (isStuck)
        {
            despawnTimer -= Time.deltaTime;
            if (despawnTimer <= 0)
            {
                Destroy(this.gameObject);
            }
        }
    }

    private void OnCollisionStay(Collision collision)
    {
        if (collision.gameObject.tag == "Player" && !isStuck)
        {
            Destroy(this.gameObject);
        }
    }
}
