libBeatsaber/src/enums.cpp

41 lines
989 B
C++

#include "beatmapcharacteristic.h"
#include "difficulties.h"
namespace Beatsaber {
namespace BeatmapCharacteristic {
BeatmapCharacteristic getByString(const std::string& str) {
for(uint8_t i = 0; i < characteristicsNameSize; ++i) {
if(str == characteristicsName[i]) { //TODO equals ignore Case
return (BeatmapCharacteristic) i;
}
}
return BeatmapCharacteristic::NONE;
}
const std::string& toString(BeatmapCharacteristic c) {
uint8_t ic = (uint8_t) c;
if(ic >= characteristicsNameSize) return characteristicsName[0]; //none
return characteristicsName[ic];
}
}
namespace Difficulty {
Difficulty getByString(const std::string& str) {
for(uint8_t i = 0; i < difficultyNameSize; ++i) {
if(str == difficultyName[i]) { //TODO equals ignore Case
return (Difficulty) i;
}
}
return Difficulty::NONE;
}
const std::string& toString(Difficulty d) {
uint8_t id = (uint8_t) d;
if(id >= difficultyNameSize) return difficultyName[0]; //none
return difficultyName[id];
}
}
}