using System; using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; public class BulletScript : MonoBehaviour { public DataBullet dataBullet; public GameObject particalClash; public float lifetime = 3f; private Rigidbody rb; private Vector3 direction; private float time = 0f; private Ray ray; private RaycastHit hit; public void damageEnemy(float damageAmount){ } 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 + " UND HIER IST DER TAG: " + collision.gameObject.tag); ContactPoint contact = collision.GetContact(0); Instantiate(particalClash,transform.position,Quaternion.LookRotation(contact.normal)); GameObject.Destroy(this.gameObject); } // Start is called before the first frame update void Start() { rb = this.GetComponent(); 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; } }