using UnityEngine; namespace GameDev.CoreSystems { public class Targetable : MonoBehaviour, ITargetable { [Header("RuntimeSet")] [SerializeField] private SoTargetableRuntimeSet _activeTargetableRuntimeSet; [field: Header("Connections")] [field: SerializeField] public Damageable Damageable { get; set; } [Header("TargetPositions")] [SerializeField] private Transform _centerPosition; [SerializeField] private Transform _basePosition; [field: Header("Collider")] [field: SerializeField] public Collider Collider { get; private set; } private void OnEnable() { _activeTargetableRuntimeSet._list.Add(this); } private void OnDisable() { _activeTargetableRuntimeSet._list.Remove(this); } public Vector3 GetCenterPosition() => _centerPosition.transform.position; public Vector3 GetBasePosition() => _basePosition.transform.position; } }