Beispiel #1
0
/*
   void GameMan::Unselect(List* objectList)
   {

   }
   */
void GameMan::Update(float dt)
{
    for(ObjectTypeMap::const_iterator objTypeMap = m_objects.begin(); objTypeMap != m_objects.end(); objTypeMap++)
    {
	ObjectMap ObjMap = (*objTypeMap).second;
	std::stack<uint32_t> eraseStack;
	for(ObjectMap::const_iterator objMap = ObjMap.begin(); objMap != ObjMap.end(); objMap++)
	{
	    ObjectPtr object = objMap->second;
	    if (object->clearObject())
		eraseStack.push(objMap->first);
	    else
		object->update(dt);
	}
	while(!eraseStack.empty())
	{
	    ObjMap.erase(eraseStack.top());
	    eraseStack.pop();
	}
    }
}