You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.4 KiB
67 lines
1.4 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Round timer for dod gamerules |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef DOD_ROUND_TIMER_H |
|
#define DOD_ROUND_TIMER_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#ifdef CLIENT_DLL |
|
#define CDODRoundTimer C_DODRoundTimer |
|
#endif |
|
|
|
class CDODRoundTimer : public CBaseEntity |
|
{ |
|
public: |
|
DECLARE_CLASS( CDODRoundTimer, CBaseEntity ); |
|
DECLARE_NETWORKCLASS(); |
|
|
|
// Constructor |
|
CDODRoundTimer(); |
|
|
|
// Destructor |
|
virtual ~CDODRoundTimer(); |
|
|
|
// Set the initial length of the timer |
|
void SetTimeRemaining( int iTimerSeconds ); |
|
|
|
// Add time to an already running ( or paused ) timer |
|
void AddTimerSeconds( int iSecondsToAdd ); |
|
|
|
void PauseTimer( void ); |
|
void ResumeTimer( void ); |
|
|
|
// Returns seconds to display. |
|
// When paused shows amount of time left once the timer is resumed |
|
float GetTimeRemaining( void ); |
|
|
|
int GetTimerMaxLength( void ); |
|
|
|
#ifndef CLIENT_DLL |
|
|
|
int UpdateTransmitState(); |
|
|
|
#else |
|
|
|
void InternalSetPaused( bool bPaused ) { m_bTimerPaused = bPaused; } |
|
|
|
#endif |
|
|
|
private: |
|
CNetworkVar( bool, m_bTimerPaused ); |
|
CNetworkVar( float, m_flTimeRemaining ); |
|
CNetworkVar( float, m_flTimerEndTime ); |
|
|
|
int m_iTimerMaxLength; // Sum of starting duration plus any time we added |
|
}; |
|
|
|
#ifdef CLIENT_DLL |
|
extern CDODRoundTimer *g_DODRoundTimer; |
|
#endif |
|
|
|
#endif //DOD_ROUND_TIMER_H
|