Files
Leviathan/Client/Game/engine/Renderer/KPrimitiveSpriteMng.cpp
T
2026-06-01 12:46:52 +02:00

51 lines
1.1 KiB
C++

#include "stdafx.h"
#include "KPrimitiveSprite.h"
#include "KPrimitiveSpriteMng.h"
KPrimitiveSpriteMng *KSingletoneResourceManager<KPrimitiveSpriteMng>::s_pStaticManager = new KPrimitiveSpriteMng;
KPrimitiveSpriteMng::KPrimitiveSpriteMng()
{
}
KPrimitiveSpriteMng::~KPrimitiveSpriteMng()
{
Clear();
}
void KPrimitiveSpriteMng::Add( class KSpritePrimitive* pSprPrimitive )
{
m_vSprList.push_back( pSprPrimitive );
}
void KPrimitiveSpriteMng::Del( class KSpritePrimitive* pSprPrimitive )
{
for( unsigned int i(0); m_vSprList.size()>i; ++i )
{
if( m_vSprList[i] == pSprPrimitive )
{
m_vSprList.erase( m_vSprList.begin()+i );
return;
}
}
}
void KPrimitiveSpriteMng::DeviceLost()
{
#ifdef _DEBUG
unsigned int nSize = m_vSprList.size();
#endif
for( unsigned int i(0); m_vSprList.size()>i; ++i )
{
#ifdef _DEBUG
KSpritePrimitive* pSpr = m_vSprList[i];
#endif
m_vSprList[i]->DeviceLost();
}
}
void KPrimitiveSpriteMng::Clear()
{
m_vSprList.erase( m_vSprList.begin(), m_vSprList.end() );
}