using UnityEngine; [RequireComponent(typeof(Collider))] public class Projectile : MonoBehaviour { [SerializeField] private float speed = 12f; [SerializeField] private float lifeTime = 2f; [SerializeField] private int damage = 1; private Vector3 direction = Vector3.forward; private GameObject owner; private void Start() { Destroy(gameObject, lifeTime); } private void Update() { transform.position += direction * speed * Time.deltaTime; } public void Initialize(Vector3 shootDirection, GameObject projectileOwner) { direction = shootDirection.normalized; owner = projectileOwner; if (direction.sqrMagnitude > 0.001f) { transform.rotation = Quaternion.LookRotation(direction); } } private void OnTriggerEnter(Collider other) { if (owner != null && other.gameObject == owner) { return; } if (other.TryGetComponent(out Health health)) { health.TakeDamage(damage); Destroy(gameObject); } } }