using UnityEngine; namespace BrewMonster.Common { public class CECTimeSafeChecker { uint m_dwBeginTick; uint m_dwTimeLength; public CECTimeSafeChecker() { m_dwBeginTick = 0; m_dwTimeLength = 0; } void Reset(uint dwCurrentTickCount, uint dwTimeLength) { m_dwBeginTick = dwCurrentTickCount; m_dwTimeLength = dwTimeLength; } void Reset(uint dwTimeLength) { Reset((uint)Time.realtimeSinceStartupAsDouble, dwTimeLength); } public void Reset() { Reset((uint)Time.realtimeSinceStartupAsDouble, m_dwTimeLength); } public bool IsTimeArrived() { return IsTimeArrived((uint)Time.realtimeSinceStartupAsDouble); } bool IsTimeArrived(uint dwCurrentTickCount) { return ElapsedTime(dwCurrentTickCount) >= TimeLength(); } uint ElapsedTime(uint dwEndTickCount, uint dwBeginTickCount) { return (dwEndTickCount >= dwBeginTickCount) ? (dwEndTickCount - dwBeginTickCount) : 0; } uint ElapsedTime(uint dwCurrentTickCount) { return ElapsedTime(dwCurrentTickCount, m_dwBeginTick); } uint ElapsedTimeFor(uint dwBeginTickCount) { return ElapsedTime((uint)Time.realtimeSinceStartupAsDouble, dwBeginTickCount); } uint ElapsedTime() { return ElapsedTime((uint)Time.realtimeSinceStartupAsDouble); } uint TimeLength() { return m_dwTimeLength; } uint LeftTime(uint dwCurrentTickCount) { uint result = 0; uint dwElapsedTime = ElapsedTime(dwCurrentTickCount); if (dwElapsedTime