Exemple #1
0
void InstanceMgr::Shutdown()
{
	uint32 i;
	InstanceMap::iterator itr;
	for(i = 0; i < NUM_MAPS; i++)
	{
		if(m_instances[i] != NULL)
		{
			for(itr = m_instances[i]->begin(); itr != m_instances[i]->end(); itr++)
			{
				if(itr->second->m_mapMgr)
					itr->second->m_mapMgr->KillThread();

				delete itr->second;
			}

			delete m_instances[i];
			m_instances[i] = NULL;
		}

		if(m_singleMaps[i] != NULL)
		{
			MapMgr* ptr = m_singleMaps[i];
			ptr->KillThread();
			delete ptr;
			ptr = NULLMAPMGR;
			m_singleMaps[i] = NULLMAPMGR;// and it dies :)
		}

		if(m_maps[i] != NULL)
		{
			delete m_maps[i];
			m_maps[i] = NULL;
		}
	}

	delete FormationMgr::getSingletonPtr();
}