mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-02-11 06:24:30 +00:00
56 lines
1.1 KiB
C++
56 lines
1.1 KiB
C++
//++ BulliT
|
|
|
|
#if !defined(AFX_AGTIMER_H__699E98F5_E1CB_4F41_8492_F741C0450C4D__INCLUDED_)
|
|
#define AFX_AGTIMER_H__699E98F5_E1CB_4F41_8492_F741C0450C4D__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class AgTimer
|
|
{
|
|
float m_fNextTimerUpdate;
|
|
float m_fLastTimeCheck;
|
|
float m_fEffectiveTime;
|
|
cvar_t* m_pmp_timelimit;
|
|
|
|
public:
|
|
AgTimer();
|
|
virtual ~AgTimer();
|
|
|
|
void Think();
|
|
|
|
float GetEffectiveTime();
|
|
void Reset();
|
|
bool TimeRemaining(int& iTimeRemaining); //Calculate time remaining.
|
|
};
|
|
|
|
inline bool AgTimer::TimeRemaining(int& iTimeRemaining)
|
|
{
|
|
float fTimeLimit = m_pmp_timelimit->value * 60;
|
|
iTimeRemaining = (int)(fTimeLimit ? ( fTimeLimit - m_fEffectiveTime ) : 0);
|
|
if ( fTimeLimit != 0 && m_fEffectiveTime >= fTimeLimit )
|
|
return false;
|
|
|
|
return true;
|
|
}
|
|
|
|
inline void AgTimer::Reset()
|
|
{
|
|
m_fNextTimerUpdate = 0;
|
|
m_fLastTimeCheck = gpGlobals->time;
|
|
m_fEffectiveTime = 0;
|
|
}
|
|
|
|
inline float AgTimer::GetEffectiveTime()
|
|
{
|
|
return m_fEffectiveTime;
|
|
}
|
|
extern bool g_bPaused;
|
|
|
|
|
|
#endif // !defined(AFX_AGTIMER_H__699E98F5_E1CB_4F41_8492_F741C0450C4D__INCLUDED_)
|
|
|
|
//-- Martin Webrant
|
|
|