Beispiel #1
0
void CParticleSystemLibrary::Simulate()
{
	CParticleSystemLibrary* pPSL = Get();

	tmap<size_t, CSystemInstance*>::iterator it = pPSL->m_apInstances.begin();

	tvector<size_t> aiDeleted;

	for (; it != pPSL->m_apInstances.end(); it++)
	{
		CSystemInstance* pInstance = (*it).second;

		pInstance->Simulate();

		if (pInstance->IsStopped() && pInstance->GetNumParticles() == 0)
			aiDeleted.push_back((*it).first);
	}

	for (size_t i = 0; i < aiDeleted.size(); i++)
		RemoveInstance(aiDeleted[i]);
}
Beispiel #2
0
void InstanceManager::RemoveAll()
{
   while (!_instances.empty())
      RemoveInstance(_instances.begin()->mcfg.id);
}
Beispiel #3
0
void CParticleSystemLibrary::ClearInstances()
{
	CParticleSystemLibrary* pPSL = Get();
	while (pPSL->m_apInstances.size())
		RemoveInstance((*pPSL->m_apInstances.begin()).first);
}
void VStringInputMapManager::RemoveInstance(VStringInputMap *pInstance)
{
  if(pInstance == NULL)
    return;
  RemoveInstance(pInstance->GetIndex());
}