#include "CDEmoteTable.h" //! Constructor CDEmoteTableTable::CDEmoteTableTable(void) { auto tableData = CDClientDatabase::ExecuteQuery("SELECT * FROM Emotes"); while (!tableData.eof()) { CDEmoteTable* entry = new CDEmoteTable(); entry->ID = tableData.getIntField(0, -1); entry->animationName = tableData.getStringField(1, ""); entry->iconFilename = tableData.getStringField(2, ""); entry->channel = tableData.getIntField(3, -1); entry->locked = tableData.getIntField(5, -1) != 0; entry->localize = tableData.getIntField(6, -1) != 0; entry->locState = tableData.getIntField(7, -1); entry->gateVersion = tableData.getIntField(8, -1); entries.insert(std::make_pair(entry->ID, entry)); tableData.nextRow(); } tableData.finalize(); } //! Destructor CDEmoteTableTable::~CDEmoteTableTable(void) { for (auto e : entries) { if (e.second) delete e.second; } entries.clear(); } //! Returns the table's name std::string CDEmoteTableTable::GetName(void) const { return "Emotes"; } CDEmoteTable * CDEmoteTableTable::GetEmote(int id) { for (auto e : entries) { if (e.first == id) return e.second; } return nullptr; }