X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/e0306362252a9baa46ac7d7a56bbe3479cdaa771..656c03e59c488895ed44c9d7c55a06c28037bdba:/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileId.cpp diff --git a/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileId.cpp b/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileId.cpp index 999a17a..51a99b3 100644 --- a/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileId.cpp +++ b/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileId.cpp @@ -40,19 +40,27 @@ string FileId::CreateItemId(const string &Number) return Number; } -ItemTypes::ItemType FileId::GetItemTypeFromId(const string &Id) +string FileId::GetItemNumberFromId(const string &Id) { - size_t colon = Id.find_first_of(":"); - if (colon == string::npos) - throw GameServException(str(format("Invalid Item ID %1%") % Id), __FILE__, __LINE__); - - return ItemTypes::Parse(Id.substr(0, colon)); + return Id; } -string FileId::GetItemNumberFromId(const string &Id) +string FileId::CreateMonsterId(const string &LevelId, const string &Name) +{ + return str(format("%1%:%2%") % LevelId % Name); +} + +string FileId::CreateLevelId(const unsigned int &Number) { - size_t colon = Id.find_first_of(":"); - if (colon == string::npos) - throw GameServException(str(format("Invalid Item ID %1%") % Id), __FILE__, __LINE__); - return Id.substr(colon + 1); + return lexical_cast(Number); } + +unsigned int FileId::GetLevelNumberFromId(const string &Id) +{ + return lexical_cast(Id); +} + +string FileId::CreateMasterId(const string &LevelId, const string &Name) +{ + return str(format("%1%:%2%") % LevelId % Name); +} \ No newline at end of file