hl2_src-leak-2017/src/game/client/tf2/clientmode_tfbase.h

69 lines
1.4 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef CLIENTMODE_TFBASE_H
#define CLIENTMODE_TFBASE_H
#ifdef _WIN32
#pragma once
#endif
#include "clientmode_shared.h"
class ConVar;
class CMinimapPanel;
namespace vgui
{
typedef unsigned long HScheme;
}
// This class defines the base clientmode behavior in TF. Classes that derive from
// it and override functions should forward them to the base class.
class ClientModeTFBase : public ClientModeShared
{
DECLARE_CLASS( ClientModeTFBase, ClientModeShared );
public:
ClientModeTFBase( void );
virtual ~ClientModeTFBase( void );
virtual void Init();
virtual void Shutdown();
virtual void Enable();
virtual void PreRender( CViewSetup *pSetup );
virtual void PostRender();
virtual void Update();
virtual void LevelInit( const char *newmap );
virtual void LevelShutdown( void );
// Input
virtual int KeyInput( int down, ButtonCode_t keynum, const char *pszCurrentBinding );
virtual CMinimapPanel *GetMinimap( void );
virtual vgui::Panel *GetMinimapParent( void ) = 0;
private:
void Initialize( void );
bool m_bInitialized;
ConVar *m_pCVDrawFullSkybox;
float m_flOldDrawFullSkybox;
static CMinimapPanel *m_pMinimap;
};
extern vgui::HScheme g_hVGuiObjectScheme;
#endif // CLIENTMODE_TFBASE_H