Example #1
0
void MapObjects::RedrawObjects(MapDrawingSettings * pSettings)
{
	MapObjectState eState;
	MapObject * pCurrentObject = NULL;
	std::map<int, MapObject *>::iterator iter;
	m_mutexObjects.lock();
	for (iter = m_mapObjects.begin(); iter != m_mapObjects.end(); ++iter)
	{
		if (iter->first == pSettings->iCurrentObject)
			pCurrentObject = iter->second;
		else if (iter->second)
		{
			eState = iter->second->isActive() ? MapObjectStateActive: MapObjectStateInactive;
			iter->second->DrawObject(pSettings, eState);
		}
	}
	if (pCurrentObject != NULL)
	{
		eState = (MapObjectState)((pCurrentObject->isActive() ? MapObjectStateActive: MapObjectStateInactive) | MapObjectStateCurrent);
		pCurrentObject->DrawObject(pSettings, eState);
	}
	m_mutexObjects.unlock();
}