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.
57 lines
1.6 KiB
57 lines
1.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#include "cbase.h" |
|
#include "materialsystem/imesh.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include "tier0/memdbgon.h" |
|
|
|
// -------------------------------------------------------------------------------- // |
|
// An entity used to access overlays (and change their texture) |
|
// -------------------------------------------------------------------------------- // |
|
class C_InfoOverlayAccessor : public C_BaseEntity |
|
{ |
|
public: |
|
|
|
DECLARE_CLASS( C_InfoOverlayAccessor, C_BaseEntity ); |
|
DECLARE_CLIENTCLASS(); |
|
|
|
C_InfoOverlayAccessor(); |
|
|
|
virtual void OnDataChanged( DataUpdateType_t updateType ); |
|
|
|
private: |
|
|
|
int m_iOverlayID; |
|
}; |
|
|
|
// Expose it to the engine. |
|
IMPLEMENT_CLIENTCLASS(C_InfoOverlayAccessor, DT_InfoOverlayAccessor, CInfoOverlayAccessor); |
|
|
|
BEGIN_RECV_TABLE_NOBASE(C_InfoOverlayAccessor, DT_InfoOverlayAccessor) |
|
RecvPropInt(RECVINFO(m_iTextureFrameIndex)), |
|
RecvPropInt(RECVINFO(m_iOverlayID)), |
|
END_RECV_TABLE() |
|
|
|
|
|
// -------------------------------------------------------------------------------- // |
|
// Functions. |
|
// -------------------------------------------------------------------------------- // |
|
|
|
C_InfoOverlayAccessor::C_InfoOverlayAccessor() |
|
{ |
|
} |
|
|
|
void C_InfoOverlayAccessor::OnDataChanged( DataUpdateType_t updateType ) |
|
{ |
|
if ( updateType == DATA_UPDATE_CREATED ) |
|
{ |
|
// Update overlay's bind proxy |
|
engine->SetOverlayBindProxy( m_iOverlayID, GetClientRenderable() ); |
|
} |
|
}
|
|
|