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;
    }
}
