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