using Code.Gameplay.Player; using UnityEngine; namespace Code.Gameplay.Enemies { public class FeatherProjectile : MonoBehaviour { [SerializeField] private float _speed = 6f; [SerializeField] private float _lifetime = 3f; [SerializeField] private LayerMask _playerLayer; private Vector2 _direction; private float _timer; public void Launch(float angle) { var rad = angle * Mathf.Deg2Rad; _direction = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); transform.rotation = Quaternion.Euler(0, 0, angle); } private void Update() { transform.Translate(_direction * (_speed * Time.deltaTime), Space.World); var hit = Physics2D.OverlapCircle(transform.position, 0.4f, _playerLayer); if (hit && hit.CompareTag("Player")) { hit.GetComponent()?.TakeDamage(); Destroy(gameObject); } _timer += Time.deltaTime; if (_timer > _lifetime) { Destroy(gameObject); } } } }