//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef IMATERIALPROXY_H #define IMATERIALPROXY_H #pragma once #include "interface.h" #define IMATERIAL_PROXY_INTERFACE_VERSION "_IMaterialProxy003" class IMaterial; class KeyValues; abstract_class IMaterialProxy { public: virtual bool Init( IMaterial* pMaterial, KeyValues *pKeyValues ) = 0; virtual void OnBind( void * ) = 0; virtual void Release() = 0; virtual IMaterial * GetMaterial() = 0; protected: // no one should call this directly virtual ~IMaterialProxy() {} }; #endif // IMATERIALPROXY_H