X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/cdc7e5623f33632e10fda6ae0d9a6081e03df483..656c03e59c488895ed44c9d7c55a06c28037bdba:/gameserv-2.0/libgameservgldl/src/DataLayer/MySQL/MySQLId.cpp diff --git a/gameserv-2.0/libgameservgldl/src/DataLayer/MySQL/MySQLId.cpp b/gameserv-2.0/libgameservgldl/src/DataLayer/MySQL/MySQLId.cpp index 5ef46ee..548ff45 100644 --- a/gameserv-2.0/libgameservgldl/src/DataLayer/MySQL/MySQLId.cpp +++ b/gameserv-2.0/libgameservgldl/src/DataLayer/MySQL/MySQLId.cpp @@ -26,14 +26,22 @@ MySQLId::~MySQLId() { } -string MySQLId::CreatePlayerId(const string &Name) +string MySQLId::CreatePlayerId(const unsigned long long &Number) { - return Name; + return lexical_cast(Number); } -string MySQLId::GetNameFromPlayerId(const string &Id) +unsigned long long MySQLId::GetPlayerNumberFromId(const string &Id) { - return Id; + try + { + return lexical_cast(Id); + } + catch (bad_lexical_cast) + { + throw GameServException(str(format("Improperly formatted Player ID: %1%") % Id), + __FILE__, __LINE__); + } } string MySQLId::CreateItemId(const unsigned long long &Number) @@ -45,7 +53,7 @@ unsigned long long MySQLId::GetItemNumberFromId(const string &Id) { try { - return lexical_cast(Id); + return lexical_cast(Id); } catch (bad_lexical_cast) { @@ -53,21 +61,33 @@ unsigned long long MySQLId::GetItemNumberFromId(const string &Id) } } -string MySQLId::CreateMonsterId(const string &LevelId, const string &Name) +string MySQLId::CreateMonsterId(const unsigned long long &Number) { - return str(format("%1%:%2%") % LevelId % Name); + return lexical_cast(Number); } -string MySQLId::CreateLevelId(const unsigned int &Number) +unsigned long long MySQLId::GetMonsterNumberFromId(const string &Id) +{ + try + { + return lexical_cast(Id); + } + catch (bad_lexical_cast) + { + throw GameServException(str(format("Improperly formatted Monster ID: %1%") % Id), __FILE__, __LINE__); + } +} + +string MySQLId::CreateLevelId(const unsigned long long &Number) { return lexical_cast(Number); } -unsigned int MySQLId::GetLevelNumberFromId(const string &Id) +unsigned long long MySQLId::GetLevelNumberFromId(const string &Id) { try { - return lexical_cast(Id); + return lexical_cast(Id); } catch (bad_lexical_cast) { @@ -75,7 +95,19 @@ unsigned int MySQLId::GetLevelNumberFromId(const string &Id) } } -string MySQLId::CreateMasterId(const unsigned int &LevelNumber, const string &Name) +string MySQLId::CreateMasterId(const unsigned long long &Number) +{ + return lexical_cast(Number); +} + +unsigned long long MySQLId::GetMasterNumberFromId(const string &Id) { - return str(format("%1%:%2%") % LevelNumber % Name); + try + { + return lexical_cast(Id); + } + catch (bad_lexical_cast) + { + throw GameServException(str(format("Improperly formatted Master ID: %1%") % Id), __FILE__, __LINE__); + } } \ No newline at end of file