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