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-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose: This is an entity that represents a vgui screen
//
// $NoKeywords: $
//=============================================================================//
#ifndef VGUISCREEN_H
#define VGUISCREEN_H
#ifdef _WIN32
#pragma once
#endif
//-----------------------------------------------------------------------------
// This is an entity that represents a vgui screen
//-----------------------------------------------------------------------------
class CVGuiScreen : public CBaseEntity { public: DECLARE_CLASS( CVGuiScreen, CBaseEntity ); DECLARE_SERVERCLASS(); DECLARE_DATADESC();
CVGuiScreen();
virtual void Precache(); virtual bool KeyValue( const char *szKeyName, const char *szValue ); virtual void Spawn(); virtual void Activate(); virtual void OnRestore();
const char *GetPanelName() const;
// Sets the screen size + resolution
void SetActualSize( float flWidth, float flHeight );
// Activates/deactivates the screen
bool IsActive() const; void SetActive( bool bActive );
// Is this screen only visible to teammates?
bool IsVisibleOnlyToTeammates() const; void MakeVisibleOnlyToTeammates( bool bActive ); bool IsVisibleToTeam( int nTeam );
// Sets the overlay material
void SetOverlayMaterial( const char *pMaterial );
void SetAttachedToViewModel( bool bAttached ); bool IsAttachedToViewModel() const;
void SetTransparency( bool bTransparent );
virtual int UpdateTransmitState( void ); virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo );
void SetPlayerOwner( CBasePlayer *pPlayer, bool bOwnerOnlyInput = false );
private: void SetAttachmentIndex( int nIndex ); void SetPanelName( const char *pPanelName ); void InputSetActive( inputdata_t &inputdata ); void InputSetInactive( inputdata_t &inputdata );
string_t m_strOverlayMaterial; bool m_bIsTransparent;
CNetworkVar( float, m_flWidth ); CNetworkVar( float, m_flHeight ); CNetworkVar( int, m_nPanelName ); // The name of the panel
CNetworkVar( int, m_nAttachmentIndex ); CNetworkVar( int, m_nOverlayMaterial ); CNetworkVar( int, m_fScreenFlags ); CNetworkVar( EHANDLE, m_hPlayerOwner );
friend CVGuiScreen *CreateVGuiScreen( const char *pScreenClassname, const char *pScreenType, CBaseEntity *pAttachedTo, CBaseEntity *pOwner, int nAttachmentIndex ); };
void PrecacheVGuiScreen( const char *pScreenType ); void PrecacheVGuiScreenOverlayMaterial( const char *pMaterialName ); CVGuiScreen *CreateVGuiScreen( const char *pScreenClassname, const char *pScreenType, CBaseEntity *pAttachedTo, CBaseEntity *pOwner, int nAttachmentIndex ); void DestroyVGuiScreen( CVGuiScreen *pVGuiScreen );
#endif // VGUISCREEN_H
|