31 lines
894 B
C#
31 lines
894 B
C#
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;
|
|
|
|
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;
|
|
}
|
|
} |