54 lines
1.2 KiB
C#
54 lines
1.2 KiB
C#
using UnityEngine;
|
|
|
|
public class CECCounter
|
|
{
|
|
// Thuộc tính
|
|
protected float m_dwCounter; // Counter
|
|
protected float m_dwPeriod; // Count period
|
|
|
|
// Constructor
|
|
public CECCounter()
|
|
{
|
|
m_dwCounter = 0;
|
|
m_dwPeriod = 0;
|
|
}
|
|
|
|
// Set / Get period
|
|
public void SetPeriod(float dwPeriod) { m_dwPeriod = dwPeriod; }
|
|
public float GetPeriod() { return m_dwPeriod; }
|
|
|
|
// Set / Get counter
|
|
public void SetCounter(float dwCounter) { m_dwCounter = dwCounter; }
|
|
public float 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(float dwCounter)
|
|
{
|
|
m_dwCounter += dwCounter;
|
|
return (m_dwCounter >= m_dwPeriod);
|
|
}
|
|
|
|
// Decrease counter
|
|
public void DecCounter(float dwCounter)
|
|
{
|
|
if (m_dwCounter <= dwCounter)
|
|
m_dwCounter = 0;
|
|
else
|
|
m_dwCounter -= dwCounter;
|
|
}
|
|
}
|
|
|