27 lines
629 B
C#
27 lines
629 B
C#
public class SkillInstance
|
|
{
|
|
public SkillData Data { get; private set; }
|
|
public int Level { get; set; } = 1;
|
|
public float CooldownTimer { get; set; }
|
|
public bool IsOnCooldown => CooldownTimer > 0f;
|
|
|
|
public SkillLevelData CurrentLevelData => Data.GetLevelData(Level);
|
|
|
|
public SkillInstance(SkillData data, int level = 1)
|
|
{
|
|
Data = data;
|
|
Level = level;
|
|
}
|
|
|
|
public void StartCooldown()
|
|
{
|
|
CooldownTimer = CurrentLevelData.Cooldown;
|
|
}
|
|
|
|
public void TickCooldown(float deltaTime)
|
|
{
|
|
if (CooldownTimer > 0f)
|
|
CooldownTimer -= deltaTime;
|
|
}
|
|
}
|