Counter Strike : Global Offensive Source Code
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.
|
|
//========= Copyright � 1996-2008, Valve Corporation, All rights reserved. ============//
//
// Purpose: Client handler for instruction players how to play
//
//=============================================================================//
#ifndef _C_KEYVALUE_SAVER_H_
#define _C_KEYVALUE_SAVER_H_
#include "GameEventListener.h"
#include "keyvalues.h"
typedef void (*KeyValueBuilder)( KeyValues* );
struct KeyValueSaverData { char szFileName[ MAX_PATH ]; bool bDirtySaveData; KeyValues *pKeyValues; KeyValueBuilder funcKeyValueBuilder; };
class C_KeyValueSaver : public CAutoGameSystemPerFrame, public CGameEventListener { public: C_KeyValueSaver() : CAutoGameSystemPerFrame( "C_KeyValueSaver" ) { m_nSplitScreenSlot = -1; }
void SetSlot( int nSlot ) { m_nSplitScreenSlot = nSlot; }
// Methods of IGameSystem
virtual bool Init( void ); virtual void Shutdown( void ); virtual void Update( float frametime );
// Methods of CGameEventListener
virtual void FireGameEvent( IGameEvent *event );
bool InitKeyValues( const char *pchFileName, KeyValueBuilder funcKeyValueBuilder ); bool WriteDirtyKeyValues( const char *pchFileName, bool bForceWrite = false );
KeyValues * GetKeyValues( const char *pchFileName, bool bForceReread = false ); void MarkKeyValuesDirty( const char *pchFileName );
private:
bool ReadKeyValues( KeyValueSaverData *pKeyValueData ); bool WriteDirtyKeyValues( KeyValueSaverData *pKeyValueData, bool bForceWrite = false ); void WriteAllDirtyKeyValues( void );
KeyValueSaverData * FindKeyValueData( const char *pchFileName );
private: CUtlVector< KeyValueSaverData > m_KeyValueData;
int m_nSplitScreenSlot; };
C_KeyValueSaver &KeyValueSaver();
// Merged from L4D but waiting on other code to be merged before this can compile
void GameInstructor_Init(); void GameInstructor_Shutdown();
#endif // _C_KEYVALUE_SAVER_H_
|