27 lines
670 B
C#
27 lines
670 B
C#
5 months ago
|
using System;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace Unity.BossRoom.UnityServices
|
||
|
{
|
||
|
public class RateLimitCooldown
|
||
|
{
|
||
|
public float CooldownTimeLength => m_CooldownTimeLength;
|
||
|
|
||
|
readonly float m_CooldownTimeLength;
|
||
|
private float m_CooldownFinishedTime;
|
||
|
|
||
|
public RateLimitCooldown(float cooldownTimeLength)
|
||
|
{
|
||
|
m_CooldownTimeLength = cooldownTimeLength;
|
||
|
m_CooldownFinishedTime = -1f;
|
||
|
}
|
||
|
|
||
|
public bool CanCall => Time.unscaledTime > m_CooldownFinishedTime;
|
||
|
|
||
|
public void PutOnCooldown()
|
||
|
{
|
||
|
m_CooldownFinishedTime = Time.unscaledTime + m_CooldownTimeLength;
|
||
|
}
|
||
|
}
|
||
|
}
|