1 std::string CSLoader::GetTextureListFromCsb(const std::string& filename) 2 { 5 std::string path = filename; 6 size_t pos = path.find_last_of('.'); 7 std::string suffix = path.substr(pos + 1, path.length()); 8 9 CSLoader* loader = CSLoader::getInstance(); 10 loader->_textureList.clear(); 11 12 if (suffix == "csb") 13 loader->GetTextureList(loader, filename); 14 15 //去除重复项 16 sort(loader->_textureList.begin(), loader->_textureList.end()); 17 std::vector<std::string>::iterator iter = unique(loader->_textureList.begin(), loader->_textureList.end()); 18 loader->_textureList.erase(iter, loader->_textureList.end()); 19 20 std::string rtn; 21 int count = loader->_textureList.size(); 22 if (count > 0) 23 { 24 std::string tail = ".plist"; 25 for (int i = 0; i < count; i++) 26 { 27 std::string path = loader->_textureList.at(i); 28 if(path.compare(path.size() - tail.size(), tail.size(), tail) == 0) 29 { 30 path = path.replace(path.size() - tail.size(), 6, ".png"); 31 }33 rtn += path + "|"; 34 } 35 } 36 return rtn; 37 }