#ifndef ASSET_MANAGER_H #define ASSET_MANAGER_H #include "materialsystem/imaterialsystem.h" #include "worldrender.h" #include "datamap.h" #include "materials.h" #include "tier1/utlstring.h" struct FunnyMaterial_t { IShader *m_pShaders; IMaterial *m_pMaterial; CBaseMaterial *m_pLayout; }; struct FunnyModel_t { IMesh *m_pMesh; FunnyMaterial_t *m_pFunnyMaterial; }; class IAssetManager { public: virtual FunnyModel_t *LoadModel( const char *szName ) = 0; virtual FunnyMaterial_t *LoadMaterial( const char *szName ) = 0; virtual void UnrefModel( FunnyModel_t *pModel ) = 0; virtual void UnrefMaterial( FunnyMaterial_t *pModel ) = 0; }; extern IAssetManager *g_pAssetManager; #endif