64 lines
1.3 KiB
C++
64 lines
1.3 KiB
C++
#ifndef ASSET_MANAGER_H
|
|
#define ASSET_MANAGER_H
|
|
|
|
#include "datamap.h"
|
|
#include "iphysics.h"
|
|
#include "tier1/utlstring.h"
|
|
|
|
typedef uint32_t HFunnyMaterial;
|
|
typedef uint32_t HFunnyMesh;
|
|
typedef uint32_t HFunnyPhysics;
|
|
typedef uint32_t HFunnyModel;
|
|
|
|
struct FunnyMaterial_t
|
|
{
|
|
};
|
|
|
|
struct FunnyMesh_t
|
|
{
|
|
float *m_pfPositions;
|
|
uint32_t m_nPositionCount;
|
|
uint32_t *m_puIndicies;
|
|
uint32_t m_nIndiciesCount;
|
|
};
|
|
|
|
struct FunnyPhysics_t
|
|
{
|
|
HShape m_hShape;
|
|
|
|
union
|
|
{
|
|
HFunnyMesh m_hMesh;
|
|
};
|
|
};
|
|
|
|
struct FunnyModel_t
|
|
{
|
|
HFunnyPhysics m_hPhysics;
|
|
};
|
|
|
|
|
|
class IAssetManager
|
|
{
|
|
public:
|
|
virtual HFunnyModel LoadModel( const char *szName ) = 0;
|
|
virtual FunnyModel_t *GetModelByIndex( HFunnyModel hModel ) = 0;
|
|
virtual void UnrefModel( HFunnyModel uIndex ) = 0;
|
|
|
|
virtual HFunnyMesh LoadMesh( const char *szName ) = 0;
|
|
virtual FunnyMesh_t *GetMeshByIndex( HFunnyMesh hMesh ) = 0;
|
|
virtual void UnrefMesh( HFunnyMesh hMesh ) = 0;
|
|
|
|
virtual HFunnyMaterial LoadMaterial( const char *szName ) = 0;
|
|
virtual FunnyMaterial_t *GetMaterialByIndex( HFunnyMaterial hMat ) = 0;
|
|
virtual void UnrefMaterial( HFunnyMaterial hMat ) = 0;
|
|
|
|
virtual HFunnyPhysics LoadPhysics( const char *szName ) = 0;
|
|
virtual FunnyPhysics_t *GetPhysicsByIndex( HFunnyPhysics hPhysics ) = 0;
|
|
virtual void UnrefPhysics( HFunnyPhysics hPhysics ) = 0;
|
|
};
|
|
|
|
extern IAssetManager *g_pAssetManager;
|
|
|
|
#endif
|