aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps
diff options
context:
space:
mode:
authorPeter Keresztes Schmidt <carbenium@outlook.com>2020-08-20 00:46:52 +0200
committerGitHub <noreply@github.com>2020-08-20 00:46:52 +0200
commit4286e7aa02e777268b25d8a5bcc1ee87f7b16c4d (patch)
tree13c9a4c4be3ae749a0301f0e397051a98a10f339 /src/server/game/Maps
parent9c9e8c7d58cd0e939330089cfb555945ebbf73eb (diff)
Core/ChatCommands: Check whether a passed numeric enum value is valid (#25285)
Diffstat (limited to 'src/server/game/Maps')
-rw-r--r--src/server/game/Maps/enuminfo_SpawnData.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/server/game/Maps/enuminfo_SpawnData.cpp b/src/server/game/Maps/enuminfo_SpawnData.cpp
index 92226f25572..82b75acb148 100644
--- a/src/server/game/Maps/enuminfo_SpawnData.cpp
+++ b/src/server/game/Maps/enuminfo_SpawnData.cpp
@@ -20,9 +20,7 @@
#include "SmartEnum.h"
#include <stdexcept>
-namespace Trinity
-{
-namespace Impl
+namespace Trinity::Impl
{
/*******************************************************************\
@@ -52,5 +50,15 @@ TC_API_EXPORT SpawnObjectType EnumUtils<SpawnObjectType>::FromIndex(size_t index
default: throw std::out_of_range("index");
}
}
+
+template <>
+TC_API_EXPORT size_t EnumUtils<SpawnObjectType>::ToIndex(SpawnObjectType value)
+{
+ switch (value)
+ {
+ case SPAWN_TYPE_CREATURE: return 0;
+ case SPAWN_TYPE_GAMEOBJECT: return 1;
+ default: throw std::out_of_range("value");
+ }
}
}