Files
test/Assets/Scripts/Move/CECCounter.cs
T
2025-09-10 14:23:25 +07:00

54 lines
1.2 KiB
C#

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;
}
}