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:
//
// $NoKeywords: $
//=============================================================================//
#include "cbase.h"
#include "materialsystem/IMaterialProxy.h"
#include "materialsystem/IMaterial.h"
#include "materialsystem/IMaterialVar.h"
// NOTE: This has to be the last file included!
#include "tier0/memdbgon.h"
// $monitorTextureVar
class CMonitorMaterialProxy : public IMaterialProxy { public: CMonitorMaterialProxy(); virtual ~CMonitorMaterialProxy(); virtual bool Init( IMaterial *pMaterial, KeyValues *pKeyValues ); virtual void OnBind( void *pC_BaseEntity ); virtual void Release( void ) { delete this; } private: IMaterialVar *m_pMonitorTextureVar; };
CMonitorMaterialProxy::CMonitorMaterialProxy() { m_pMonitorTextureVar = NULL; }
CMonitorMaterialProxy::~CMonitorMaterialProxy() { m_pMonitorTextureVar = NULL; }
bool CMonitorMaterialProxy::Init( IMaterial *pMaterial, KeyValues *pKeyValues ) { char const* pMonitorTextureVarName = pKeyValues->getString( "$monitorTextureVar" ); if( !pMonitorTextureVarName ) return false;
bool foundVar; m_pMonitorTextureVar = pMaterial->FindVar( pMonitorTextureVarName, &foundVar, false ); if( !foundVar ) { m_pMonitorTextureVar = NULL; return false; } return true; }
void CMonitorMaterialProxy::OnBind( void *pC_BaseEntity ) { if( !m_pMonitorTextureVar ) { return; } }
EXPOSE_MATERIAL_PROXY( CMonitorMaterialProxy, Monitor );
|