#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()