/* * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #include "RaceMask.h" #include "Define.h" #include "SmartEnum.h" #include namespace Trinity::Impl::EnumUtilsImpl { /********************************************************\ |* data for enum 'Races' in 'RaceMask.h' auto-generated *| \********************************************************/ template <> TC_API_EXPORT EnumText EnumUtils::ToString(Races value) { switch (value) { case RACE_HUMAN: return { "RACE_HUMAN", "Human", "" }; case RACE_ORC: return { "RACE_ORC", "Orc", "" }; case RACE_DWARF: return { "RACE_DWARF", "Dwarf", "" }; case RACE_NIGHTELF: return { "RACE_NIGHTELF", "Night Elf", "" }; case RACE_UNDEAD_PLAYER: return { "RACE_UNDEAD_PLAYER", "Undead", "" }; case RACE_TAUREN: return { "RACE_TAUREN", "Tauren", "" }; case RACE_GNOME: return { "RACE_GNOME", "Gnome", "" }; case RACE_TROLL: return { "RACE_TROLL", "Troll", "" }; case RACE_GOBLIN: return { "RACE_GOBLIN", "Goblin", "" }; case RACE_BLOODELF: return { "RACE_BLOODELF", "Blood Elf", "" }; case RACE_DRAENEI: return { "RACE_DRAENEI", "Draenei", "" }; case RACE_WORGEN: return { "RACE_WORGEN", "Worgen", "" }; case RACE_PANDAREN_NEUTRAL: return { "RACE_PANDAREN_NEUTRAL", "Pandaren", "Pandaren (Neutral)" }; case RACE_PANDAREN_ALLIANCE: return { "RACE_PANDAREN_ALLIANCE", "Pandaren", "Pandaren (Alliance)" }; case RACE_PANDAREN_HORDE: return { "RACE_PANDAREN_HORDE", "Pandaren", "Pandaren (Horde)" }; case RACE_NIGHTBORNE: return { "RACE_NIGHTBORNE", "Nightborne", "" }; case RACE_HIGHMOUNTAIN_TAUREN: return { "RACE_HIGHMOUNTAIN_TAUREN", "Highmountain Tauren", "" }; case RACE_VOID_ELF: return { "RACE_VOID_ELF", "Void Elf", "" }; case RACE_LIGHTFORGED_DRAENEI: return { "RACE_LIGHTFORGED_DRAENEI", "Lightforged Draenei", "" }; case RACE_ZANDALARI_TROLL: return { "RACE_ZANDALARI_TROLL", "Zandalari Troll", "" }; case RACE_KUL_TIRAN: return { "RACE_KUL_TIRAN", "Kul Tiran", "" }; case RACE_DARK_IRON_DWARF: return { "RACE_DARK_IRON_DWARF", "Dark Iron Dwarf", "Dark Iron Dwarf (RaceMask bit 11)" }; case RACE_VULPERA: return { "RACE_VULPERA", "Vulpera", "Vulpera (RaceMask bit 12)" }; case RACE_MAGHAR_ORC: return { "RACE_MAGHAR_ORC", "Mag'har Orc", "Mag'har Orc (RaceMask bit 13)" }; case RACE_MECHAGNOME: return { "RACE_MECHAGNOME", "Mechagnome", "Mechagnome (RaceMask bit 14)" }; case RACE_DRACTHYR_ALLIANCE: return { "RACE_DRACTHYR_ALLIANCE", "Dracthyr", "Dracthyr (Alliance) (RaceMask bit 16)" }; case RACE_DRACTHYR_HORDE: return { "RACE_DRACTHYR_HORDE", "Dracthyr", "Dracthyr (Horde) (RaceMask bit 15)" }; case RACE_EARTHEN_DWARF_HORDE: return { "RACE_EARTHEN_DWARF_HORDE", "Earthen", "Earthen (Horde) (RaceMask bit 17)" }; case RACE_EARTHEN_DWARF_ALLIANCE: return { "RACE_EARTHEN_DWARF_ALLIANCE", "Earthen", "Earthen (Alliance) (RaceMask bit 18)" }; default: throw std::out_of_range("value"); } } template <> TC_API_EXPORT size_t EnumUtils::Count() { return 29; } template <> TC_API_EXPORT Races EnumUtils::FromIndex(size_t index) { switch (index) { case 0: return RACE_HUMAN; case 1: return RACE_ORC; case 2: return RACE_DWARF; case 3: return RACE_NIGHTELF; case 4: return RACE_UNDEAD_PLAYER; case 5: return RACE_TAUREN; case 6: return RACE_GNOME; case 7: return RACE_TROLL; case 8: return RACE_GOBLIN; case 9: return RACE_BLOODELF; case 10: return RACE_DRAENEI; case 11: return RACE_WORGEN; case 12: return RACE_PANDAREN_NEUTRAL; case 13: return RACE_PANDAREN_ALLIANCE; case 14: return RACE_PANDAREN_HORDE; case 15: return RACE_NIGHTBORNE; case 16: return RACE_HIGHMOUNTAIN_TAUREN; case 17: return RACE_VOID_ELF; case 18: return RACE_LIGHTFORGED_DRAENEI; case 19: return RACE_ZANDALARI_TROLL; case 20: return RACE_KUL_TIRAN; case 21: return RACE_DARK_IRON_DWARF; case 22: return RACE_VULPERA; case 23: return RACE_MAGHAR_ORC; case 24: return RACE_MECHAGNOME; case 25: return RACE_DRACTHYR_ALLIANCE; case 26: return RACE_DRACTHYR_HORDE; case 27: return RACE_EARTHEN_DWARF_HORDE; case 28: return RACE_EARTHEN_DWARF_ALLIANCE; default: throw std::out_of_range("index"); } } template <> TC_API_EXPORT size_t EnumUtils::ToIndex(Races value) { switch (value) { case RACE_HUMAN: return 0; case RACE_ORC: return 1; case RACE_DWARF: return 2; case RACE_NIGHTELF: return 3; case RACE_UNDEAD_PLAYER: return 4; case RACE_TAUREN: return 5; case RACE_GNOME: return 6; case RACE_TROLL: return 7; case RACE_GOBLIN: return 8; case RACE_BLOODELF: return 9; case RACE_DRAENEI: return 10; case RACE_WORGEN: return 11; case RACE_PANDAREN_NEUTRAL: return 12; case RACE_PANDAREN_ALLIANCE: return 13; case RACE_PANDAREN_HORDE: return 14; case RACE_NIGHTBORNE: return 15; case RACE_HIGHMOUNTAIN_TAUREN: return 16; case RACE_VOID_ELF: return 17; case RACE_LIGHTFORGED_DRAENEI: return 18; case RACE_ZANDALARI_TROLL: return 19; case RACE_KUL_TIRAN: return 20; case RACE_DARK_IRON_DWARF: return 21; case RACE_VULPERA: return 22; case RACE_MAGHAR_ORC: return 23; case RACE_MECHAGNOME: return 24; case RACE_DRACTHYR_ALLIANCE: return 25; case RACE_DRACTHYR_HORDE: return 26; case RACE_EARTHEN_DWARF_HORDE: return 27; case RACE_EARTHEN_DWARF_ALLIANCE: return 28; default: throw std::out_of_range("value"); } } }