using UnityEngine; [CreateAssetMenu(fileName = "TargetConfig", menuName = "Map Radar/Target Config")] public sealed class TargetConfig : ScriptableObject { [Header("Target Prefab")] [SerializeField] private MapTarget targetPrefab = null; [Header("Target Stats")] [SerializeField, Min(0f)] private float timeBeforeAttack = 5f; [SerializeField, Min(1)] private int health = 100; [SerializeField] private MissileType requiredMissileType = MissileType.Standard; [Header("Air Target Movement")] [SerializeField, Min(0f)] private float movementSpeed = 1f; [SerializeField, Min(0f)] private float stoppingDistance = 0.25f; public MapTarget TargetPrefab => targetPrefab; public float TimeBeforeAttack => timeBeforeAttack; public int Health => health; public MissileType RequiredMissileType => requiredMissileType; public float MovementSpeed => movementSpeed; public float StoppingDistance => stoppingDistance; private void OnValidate() { timeBeforeAttack = Mathf.Max(0f, timeBeforeAttack); health = Mathf.Max(1, health); movementSpeed = Mathf.Max(0f, movementSpeed); stoppingDistance = Mathf.Max(0f, stoppingDistance); } }