Files
funnygame/game/client/basemodelentity.cpp
2026-03-05 00:30:27 +02:00

44 lines
1020 B
C++

#include "basemodelentity.h"
void C_BaseModelEntity::Precache()
{
}
void C_BaseModelEntity::Spawn()
{
BaseClass::Spawn();
SetThink(Think);
}
void C_BaseModelEntity::Think( float fDelta )
{
m_pInstance->SetPosition(GetAbsOrigin());
m_pInstance->SetRotation(GetAbsAngles());
m_pInstance->SetScale({GetScale(),GetScale(),GetScale()});
}
void C_BaseModelEntity::SetModel( const char *szName )
{
if (m_hModelHandle)
{
g_pAssetManager->UnrefModel(m_hModelHandle);
}
m_hModelHandle = g_pAssetManager->LoadModel(szName);
m_pModel = g_pAssetManager->GetModelByIndex(m_hModelHandle);
FunnyMesh_t *pMesh = g_pAssetManager->GetMeshByIndex(m_pModel->m_hMesh);
m_pInstance = g_pWorldRenderer->CreateInstance(pMesh->m_pMesh);
}
C_BaseModelEntity::~C_BaseModelEntity()
{
FunnyMesh_t *pMesh = g_pAssetManager->GetMeshByIndex(m_pModel->m_hMesh);
g_pWorldRenderer->DestroyMeshInstance(pMesh->m_pMesh, m_pInstance);
g_pAssetManager->UnrefModel(m_hModelHandle);
}
BEGIN_DATADESC(C_BaseModelEntity)
END_DATADESC()