Targeting working again
This commit is contained in:
parent
c473d58817
commit
d1c0a4fa4f
|
@ -2,7 +2,7 @@ using UnityEngine;
|
|||
|
||||
namespace GameDev.CoreSystems
|
||||
{
|
||||
[CreateAssetMenu(fileName = "newDamageableRuntimeSet", menuName = "RuntimeSet/Damageable")]
|
||||
[CreateAssetMenu(fileName = "newTargetableRuntimeSet", menuName = "RuntimeSet/Targetable")]
|
||||
public class SoTargetableRuntimeSet : SRuntimeSet<Targetable>
|
||||
{
|
||||
}
|
||||
|
|
|
@ -4,6 +4,9 @@ namespace GameDev.CoreSystems
|
|||
{
|
||||
public class Damageable : MonoBehaviour, IDamageable
|
||||
{
|
||||
[Header("RuntimeSet")]
|
||||
[SerializeField] private SoDamageableRuntimeSet _activeDamageableRuntimeSet;
|
||||
|
||||
[field: Header("Health")]
|
||||
[field: SerializeField] public int CurrentHealth { get; private set; }
|
||||
[field: SerializeField] public int MaxHealth { get; private set; }
|
||||
|
@ -11,6 +14,16 @@ namespace GameDev.CoreSystems
|
|||
[field: Header("Modifiers")]
|
||||
[field: SerializeField] public bool IsInvulnerable { get; private set; }
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_activeDamageableRuntimeSet._list.Add(this);
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
_activeDamageableRuntimeSet._list.Remove(this);
|
||||
}
|
||||
|
||||
#region Methods
|
||||
|
||||
public void ModifyHealth(int healthChange)
|
||||
|
|
|
@ -4,10 +4,26 @@ 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;
|
||||
|
|
Loading…
Reference in New Issue