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(); }