Files
funnygame/game/client/assetmgr.h
2026-02-24 21:38:34 +02:00

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