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 }