Ejemplo n.º 1
0
void InstanceMgr::BuildXMLStats(char* m_file)
{
	uint32 i;
	InstanceMap::iterator itr;
	InstanceMap* instancemap;
	Instance* in;

	m_mapLock.Acquire();
	for(i = 0; i < NUM_MAPS; ++i)
	{
		if(m_singleMaps[i] != NULL)
			BuildStats(m_singleMaps[i], m_file, NULL, m_singleMaps[i]->GetMapInfo());
		else
		{
			instancemap = m_instances[i];
			if(instancemap != NULL)
			{
				for(itr = instancemap->begin(); itr != instancemap->end();)
				{
					in = itr->second;
					++itr;

					if(in->m_mapMgr == NULL)
						continue;

					BuildStats(in->m_mapMgr, m_file, in, in->m_mapInfo);
				}
			}
		}
	}
	m_mapLock.Release();
}
Ejemplo n.º 2
0
void InstanceMgr::BuildXMLStats(char * m_file)
{
	uint32 i;
	InstanceMap::iterator itr;
	InstanceMap * instancemap;
	Instance * in;

	m_mapLock.Acquire();
	for(i = 0; i < NUM_MAPS; i++)
	{
		if(m_singleMaps[i] != NULL)
			BuildStats(m_singleMaps[i], m_file, NULL, m_singleMaps[i]->GetMapInfo());
	}
	// Crow: WE CAN MAKE THIS BETTER, FASTER, STRONGER!!!

	for(i = 0; i < NUM_MAPS; i++)
	{
		if(m_singleMaps[i] == NULL)
		{
			instancemap = m_instances[i];
			if(instancemap != NULL)
			{
				for(itr = instancemap->begin(); itr != instancemap->end();)
				{
					in = itr->second;
					++itr;

					if(in->m_mapMgr == NULL)
						continue;

					BuildStats(in->m_mapMgr, m_file, in, in->m_mapInfo);
				}
			}
		}
	}

	m_mapLock.Release();
	Log.Debug("InstanceMgr", "Dumping XML stats...");
}