27 lines
617 B
C++
Executable File
27 lines
617 B
C++
Executable File
#include "ChooseLevelScreen.hpp"
|
|
#include <algorithm>
|
|
#include <set>
|
|
#include <MinecraftClient.hpp>
|
|
|
|
void ChooseLevelScreen::init() {
|
|
loadLevelSource();
|
|
}
|
|
|
|
void ChooseLevelScreen::loadLevelSource()
|
|
{
|
|
LevelStorageSource* levelSource = minecraft.getLevelSource();
|
|
levelSource->getLevelList(levels);
|
|
std::sort(levels.begin(), levels.end());
|
|
}
|
|
|
|
std::string ChooseLevelScreen::getUniqueLevelName( const std::string& level ) {
|
|
std::set<std::string> Set;
|
|
for (unsigned int i = 0; i < levels.size(); ++i)
|
|
Set.insert(levels[i].id);
|
|
|
|
std::string s = level;
|
|
while ( Set.find(s) != Set.end() )
|
|
s += "-";
|
|
return s;
|
|
}
|