Commit 07a67d6e authored by salix5's avatar salix5

Add GetMapString

parent 74433379
......@@ -221,29 +221,23 @@ const wchar_t* DataManager::GetDesc(uint32_t strCode) const {
return csit->second.desc[offset].c_str();
return unknown_string;
}
const wchar_t* DataManager::GetSysString(uint32_t code) const {
auto csit = _sysStrings.find(code);
if(csit == _sysStrings.end())
const wchar_t* DataManager::GetMapString(const wstring_map& table, uint32_t code) const {
auto csit = table.find(code);
if (csit == table.end())
return unknown_string;
return csit->second.c_str();
}
const wchar_t* DataManager::GetSysString(uint32_t code) const {
return GetMapString(_sysStrings, code);
}
const wchar_t* DataManager::GetVictoryString(uint32_t code) const {
auto csit = _victoryStrings.find(code);
if(csit == _victoryStrings.end())
return unknown_string;
return csit->second.c_str();
return GetMapString(_victoryStrings, code);
}
const wchar_t* DataManager::GetCounterName(uint32_t code) const {
auto csit = _counterStrings.find(code);
if(csit == _counterStrings.end())
return unknown_string;
return csit->second.c_str();
return GetMapString(_counterStrings, code);
}
const wchar_t* DataManager::GetSetName(uint32_t code) const {
auto csit = _setnameStrings.find(code);
if(csit == _setnameStrings.end())
return unknown_string;
return csit->second.c_str();
return GetMapString(_setnameStrings, code);
}
std::vector<uint32_t> DataManager::GetSetCodes(std::wstring setname) const {
std::vector<uint32_t> matchingCodes;
......
......@@ -57,6 +57,7 @@ struct CardString {
};
using code_pointer = std::unordered_map<uint32_t, CardDataC>::const_iterator;
using string_pointer = std::unordered_map<uint32_t, CardString>::const_iterator;
using wstring_map = std::unordered_map<uint32_t, std::wstring>;
class ClientCard;
......@@ -97,10 +98,10 @@ public:
std::wstring FormatSetName(const uint16_t setcode[]) const;
std::wstring FormatLinkMarker(unsigned int link_marker) const;
std::unordered_map<uint32_t, std::wstring> _counterStrings;
std::unordered_map<uint32_t, std::wstring> _victoryStrings;
std::unordered_map<uint32_t, std::wstring> _setnameStrings;
std::unordered_map<uint32_t, std::wstring> _sysStrings;
wstring_map _counterStrings;
wstring_map _victoryStrings;
wstring_map _setnameStrings;
wstring_map _sysStrings;
char errmsg[512]{};
const wchar_t* unknown_string{ L"???" };
irr::io::IFileSystem* FileSystem{};
......@@ -126,6 +127,7 @@ public:
static bool deck_sort_name(code_pointer l1, code_pointer l2);
private:
const wchar_t* GetMapString(const wstring_map& table, uint32_t code) const;
std::unordered_map<uint32_t, CardDataC> _datas;
std::unordered_map<uint32_t, CardString> _strings;
std::unordered_map<uint32_t, std::vector<uint16_t>> extra_setcode;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment