aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AuctionHouseBot
diff options
context:
space:
mode:
authorPeter Keresztes Schmidt <carbenium@outlook.com>2020-08-20 00:46:52 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-03 00:18:48 +0100
commit3c82863c528fa9ea1bd5eb75fa596a99266431b7 (patch)
tree7434bb682d3ff216357055500947c5a1fb8237f6 /src/server/game/AuctionHouseBot
parent3ba767c438f2def1d619eda34c6b843c29ebc518 (diff)
Core/ChatCommands: Check whether a passed numeric enum value is valid (#25285)
(cherry picked from commit 4286e7aa02e777268b25d8a5bcc1ee87f7b16c4d)
Diffstat (limited to 'src/server/game/AuctionHouseBot')
-rw-r--r--src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp31
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");
+ }
}
}