//--------------------------------------------------------------------- void OverlayManager::destroyOverlayElementImpl(const String& instanceName, ElementMap& elementMap) { // Locate instance ElementMap::iterator ii = elementMap.find(instanceName); if (ii == elementMap.end()) { OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND, "OverlayElement with name " + instanceName + " not found.", "OverlayManager::destroyOverlayElement" ); } // Look up factory const String& typeName = ii->second->getTypeName(); FactoryMap::iterator fi = mFactories.find(typeName); if (fi == mFactories.end()) { OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND, "Cannot locate factory for element type " + typeName, "OverlayManager::destroyOverlayElement"); } fi->second->destroyOverlayElement(ii->second); elementMap.erase(ii); }
//--------------------------------------------------------------------- bool OverlayManager::hasOverlayElementImpl(const String& name, ElementMap& elementMap) { ElementMap::iterator ii = elementMap.find(name); return ii != elementMap.end(); }