using UnityEngine; public class CECCounter { // Thuộc tính protected uint m_dwCounter; // Counter protected uint m_dwPeriod; // Count period // Constructor public CECCounter() { m_dwCounter = 0; m_dwPeriod = 0; } // Set / Get period public void SetPeriod(uint dwPeriod) { m_dwPeriod = dwPeriod; } public uint GetPeriod() { return m_dwPeriod; } // Set / Get counter public void SetCounter(uint dwCounter) { m_dwCounter = dwCounter; } public uint GetCounter() { return m_dwCounter; } // Has counter reached period ? public bool IsFull() { return (m_dwCounter >= m_dwPeriod); } // Reset counter public void Reset(bool bFull = false) { m_dwCounter = bFull ? m_dwPeriod : 0; } // Increase counter public bool IncCounter(uint dwCounter) { m_dwCounter += dwCounter; return (m_dwCounter >= m_dwPeriod); } // Decrease counter public void DecCounter(uint dwCounter) { if (m_dwCounter <= dwCounter) m_dwCounter = 0; else m_dwCounter -= dwCounter; } }