void VMapManager::unloadMap(unsigned int pMapId) { if( m_maps[pMapId] != NULL ) { MapTree* instanceTree = m_maps[ pMapId ]; std::string dirFileName = getDirFileName(pMapId); instanceTree->unloadMap(dirFileName, 0); if(instanceTree->size() == 0) { m_maps[pMapId]=NULL; delete instanceTree; } } }
void VMapManager::unloadMap(unsigned int pMapId) { if(iInstanceMapTrees.containsKey(pMapId)) { MapTree* instanceTree = iInstanceMapTrees.get(pMapId); std::string dirFileName = getDirFileName(pMapId); instanceTree->unloadMap(dirFileName, 0, true); if(instanceTree->size() == 0) { iInstanceMapTrees.remove(pMapId); delete instanceTree; } Command c = Command(); c.fillUnloadTileCmd(pMapId); iCommandLogger.appendCmd(c); } }
void VMapManager::unloadMap(unsigned int pMapId, int x, int y) { if( m_maps[pMapId] != NULL ) { MapTree * instanceTree = m_maps[pMapId]; std::string dirFileName; if( IsTileMap( pMapId ) ) dirFileName = getDirFileName( pMapId, x, y ); else dirFileName = getDirFileName( pMapId ); unsigned int mapTileIdent = MAP_TILE_IDENT(x,y); instanceTree->unloadMap(dirFileName, mapTileIdent); if(instanceTree->size() == 0) { m_maps[ pMapId ] = NULL; delete instanceTree; } } }
void VMapManager::_unloadMap(unsigned int pMapId, int x, int y) { if(iInstanceMapTrees.containsKey(pMapId)) { MapTree* instanceTree = iInstanceMapTrees.get(pMapId); std::string dirFileName; if(iMapsSplitIntoTiles.containsKey(pMapId)) { dirFileName = getDirFileName(pMapId,x,y); } else { dirFileName = getDirFileName(pMapId); } unsigned int mapTileIdent = MAP_TILE_IDENT(x,y); instanceTree->unloadMap(dirFileName, mapTileIdent); if(instanceTree->size() == 0) { iInstanceMapTrees.remove(pMapId); delete instanceTree; } } }