#include "CDEmoteTable.h" void CDEmoteTableTable::LoadValuesFromDatabase() { auto tableData = CDClientDatabase::ExecuteQuery("SELECT * FROM Emotes"); auto& entries = GetEntriesMutable(); while (!tableData.eof()) { CDEmoteTable entry; entry.ID = tableData.getIntField("id", -1); entry.animationName = tableData.getStringField("animationName", ""); entry.iconFilename = tableData.getStringField("iconFilename", ""); entry.channel = tableData.getIntField("channel", -1); entry.locked = tableData.getIntField("locked", -1) != 0; entry.localize = tableData.getIntField("localize", -1) != 0; entry.locState = tableData.getIntField("locStatus", -1); entry.gateVersion = tableData.getStringField("gate_version", ""); entries.insert(std::make_pair(entry.ID, entry)); tableData.nextRow(); } tableData.finalize(); } CDEmoteTable* CDEmoteTableTable::GetEmote(int32_t id) { auto& entries = GetEntriesMutable(); auto itr = entries.find(id); return itr != entries.end() ? &itr->second : nullptr; }