40 lines
846 B
C++
40 lines
846 B
C++
#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
|
|
{
|
|
CUtlString m_szName;
|
|
IShader *m_pShaders;
|
|
IMaterial *m_pMaterial;
|
|
CBaseMaterial *m_pLayout;
|
|
};
|
|
|
|
struct FunnyModel_t
|
|
{
|
|
CUtlString m_szName;
|
|
IMesh *m_pMesh;
|
|
FunnyMaterial_t *m_pFunnyMaterial;
|
|
};
|
|
|
|
|
|
class IAssetManager
|
|
{
|
|
public:
|
|
virtual uint32_t LoadModel( const char *szName ) = 0;
|
|
virtual uint32_t LoadMaterial( const char *szName ) = 0;
|
|
virtual FunnyModel_t *GetModelByIndex( uint32_t uIndex ) = 0;
|
|
virtual FunnyMaterial_t *GetMaterialByIndex( uint32_t uIndex ) = 0;
|
|
virtual void UnrefModel( uint32_t uIndex ) = 0;
|
|
virtual void UnrefMaterial( uint32_t uIndex ) = 0;
|
|
};
|
|
|
|
extern IAssetManager *g_pAssetManager;
|
|
|
|
#endif
|