init
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Sirenix.OdinInspector;
|
||||
using VOID.Generic.Dict;
|
||||
|
||||
namespace VOID.Generic.Objects.Unit.Data
|
||||
{
|
||||
[Serializable]
|
||||
public record UnitResources
|
||||
{
|
||||
[MinValue(0f)] public float actionPoints = 2f;
|
||||
[MinValue(0f)] public float movePoints = 0f;
|
||||
|
||||
public float Get(UnitResourceType type)
|
||||
{
|
||||
return type switch
|
||||
{
|
||||
UnitResourceType.ActionPoints => actionPoints,
|
||||
UnitResourceType.MovePoints => movePoints,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(type), type, null)
|
||||
};
|
||||
}
|
||||
|
||||
public void Set(UnitResourceType type, float value)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case UnitResourceType.ActionPoints: actionPoints = value; return;
|
||||
case UnitResourceType.MovePoints: movePoints = value; return;
|
||||
default: throw new ArgumentOutOfRangeException(nameof(type), type, null);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user