using UnityEngine; using UnityEngine.Assertions; [RequireComponent(typeof(HealthComponent))] public abstract class Tower : MonoBehaviour { [SerializeField] private EditableArc horizontalArc; [SerializeField] private EditableArc verticalArc; private HealthComponent healthComp; // Getters public Vector2 HorizontalRotationMinMax => horizontalArc.RotationMinMax; public Vector2 VerticalRotationMinMax => verticalArc.RotationMinMax; public float HorizontalRotation => horizontalArc.Value; public float VerticalRotation => verticalArc.Value; protected virtual void Awake() { healthComp = GetComponent(); Assert.IsNotNull(healthComp); // Set default rotation to average between min max } }