namespace Core.Domain.Status.Effects
{
    public class HoverEffect : IStatusEffect
    {
        private float _duration;

        public bool IsExpired => _duration <= 0;
        
        public HoverEffect(float duration)
        {
            _duration = duration;
        }
        
        public void Tick(float deltaTime)
        {
            _duration -= deltaTime;
        }

        public void ModifyCapabilities(ref PlayerCapabilities caps)
        {
            caps.CanHover = true;
        }

        public void OnApply()
        {
        }

        public void OnRemove()
        {
        }
    }
}
