a bit of stuff, time to add spirv-link into this project
This commit is contained in:
72
game/client/assetmgr.cpp
Normal file
72
game/client/assetmgr.cpp
Normal file
@@ -0,0 +1,72 @@
|
||||
#include "assetmgr.h"
|
||||
#include "tier2/ifilesystem.h"
|
||||
#include "tier2/fileformats/json.h"
|
||||
|
||||
class CAssetManager: public IAssetManager
|
||||
{
|
||||
public:
|
||||
virtual FunnyModel_t *LoadModel( const char *szName ) override;
|
||||
virtual FunnyMaterial_t *LoadMaterial( const char *szName ) override;
|
||||
virtual void UnrefModel( FunnyModel_t *pModel ) override;
|
||||
virtual void UnrefMaterial( FunnyMaterial_t *pModel ) override;
|
||||
CUtlVector<FunnyModel_t> m_models;
|
||||
CUtlVector<FunnyModel_t*> m_modelUsages;
|
||||
CUtlVector<FunnyMaterial_t> m_materials;
|
||||
CUtlVector<FunnyMaterial_t*> m_materialUsages;
|
||||
|
||||
FunnyModel_t *LoadModelFromParams( const char *szMesh, const char *szMaterial );
|
||||
};
|
||||
|
||||
FunnyModel_t *CAssetManager::LoadModel( const char *szName )
|
||||
{
|
||||
IFileHandle *pHandle = filesystem->Open(szName, FILEMODE_READ);
|
||||
CUtlString szProperties = filesystem->ReadString(pHandle);
|
||||
V_printf("%s\n", szProperties.GetString());
|
||||
IJSONValue *pRoot = JSONManager()->ReadString(szProperties);
|
||||
IJSONObject *pMainObject;
|
||||
CUtlString szMeshData;
|
||||
IVertexBuffer *pVertices;
|
||||
switch (pRoot->GetType())
|
||||
{
|
||||
case JSON_PARAMETER_OBJECT:
|
||||
{
|
||||
pMainObject = pRoot->GetObject();
|
||||
if (!pMainObject)
|
||||
{
|
||||
V_printf("Failed to load properties\n");
|
||||
return NULL;
|
||||
|
||||
}
|
||||
IJSONValue *pMesh = pMainObject->GetValue("mesh");
|
||||
IJSONValue *pMaterial = pMainObject->GetValue("material");
|
||||
CUtlString szMesh = pMesh->GetStringValue();
|
||||
CUtlString szMaterial = pMaterial->GetStringValue();
|
||||
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void CAssetManager::UnrefModel( FunnyModel_t *pModel )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
FunnyMaterial_t *CAssetManager::LoadMaterial( const char *szName )
|
||||
{
|
||||
FunnyMaterial_t stMaterial = {};
|
||||
}
|
||||
|
||||
void CAssetManager::UnrefMaterial( FunnyMaterial_t *pModel )
|
||||
{
|
||||
|
||||
}
|
||||
FunnyModel_t *CAssetManager::LoadModelFromParams( const char *szMesh, const char *szMaterial )
|
||||
{
|
||||
}
|
||||
|
||||
static CAssetManager s_assetmgr;
|
||||
IAssetManager *g_pAssetManager = &s_assetmgr;
|
||||
Reference in New Issue
Block a user