diff options
| author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-20 00:46:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-20 00:46:52 +0200 |
| commit | 4286e7aa02e777268b25d8a5bcc1ee87f7b16c4d (patch) | |
| tree | 13c9a4c4be3ae749a0301f0e397051a98a10f339 /src/server/game/AuctionHouseBot | |
| parent | 9c9e8c7d58cd0e939330089cfb555945ebbf73eb (diff) | |
Core/ChatCommands: Check whether a passed numeric enum value is valid (#25285)
Diffstat (limited to 'src/server/game/AuctionHouseBot')
| -rw-r--r-- | src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp b/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp index bdec8875922..2d784a94425 100644 --- a/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp +++ b/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp @@ -20,9 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity -{ -namespace Impl +namespace Trinity::Impl { /************************************************************************\ @@ -63,6 +61,22 @@ TC_API_EXPORT AuctionQuality EnumUtils<AuctionQuality>::FromIndex(size_t index) } } +template <> +TC_API_EXPORT size_t EnumUtils<AuctionQuality>::ToIndex(AuctionQuality value) +{ + switch (value) + { + case AUCTION_QUALITY_GRAY: return 0; + case AUCTION_QUALITY_WHITE: return 1; + case AUCTION_QUALITY_GREEN: return 2; + case AUCTION_QUALITY_BLUE: return 3; + case AUCTION_QUALITY_PURPLE: return 4; + case AUCTION_QUALITY_ORANGE: return 5; + case AUCTION_QUALITY_YELLOW: return 6; + default: throw std::out_of_range("value"); + } +} + /**************************************************************************\ |* data for enum 'AuctionHouseType' in 'AuctionHouseBot.h' auto-generated *| \**************************************************************************/ @@ -92,5 +106,16 @@ TC_API_EXPORT AuctionHouseType EnumUtils<AuctionHouseType>::FromIndex(size_t ind default: throw std::out_of_range("index"); } } + +template <> +TC_API_EXPORT size_t EnumUtils<AuctionHouseType>::ToIndex(AuctionHouseType value) +{ + switch (value) + { + case AUCTION_HOUSE_NEUTRAL: return 0; + case AUCTION_HOUSE_ALLIANCE: return 1; + case AUCTION_HOUSE_HORDE: return 2; + default: throw std::out_of_range("value"); + } } } |
