TrinityCore
enuminfo_MovementDefines.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "MovementDefines.h"
19#include "Define.h"
20#include "SmartEnum.h"
21#include <stdexcept>
22
24{
25
26/*******************************************************************************\
27|* data for enum 'MovementGeneratorType' in 'MovementDefines.h' auto-generated *|
28\*******************************************************************************/
29template <>
31{
32 switch (value)
33 {
34 case IDLE_MOTION_TYPE: return { "IDLE_MOTION_TYPE", "IDLE_MOTION_TYPE", "IdleMovementGenerator.h" };
35 case RANDOM_MOTION_TYPE: return { "RANDOM_MOTION_TYPE", "RANDOM_MOTION_TYPE", "RandomMovementGenerator.h" };
36 case WAYPOINT_MOTION_TYPE: return { "WAYPOINT_MOTION_TYPE", "WAYPOINT_MOTION_TYPE", "WaypointMovementGenerator.h" };
37 case MAX_DB_MOTION_TYPE: return { "MAX_DB_MOTION_TYPE", "MAX_DB_MOTION_TYPE", "Below motion types can't be set in DB." };
38 case CONFUSED_MOTION_TYPE: return { "CONFUSED_MOTION_TYPE", "CONFUSED_MOTION_TYPE", "ConfusedMovementGenerator.h" };
39 case CHASE_MOTION_TYPE: return { "CHASE_MOTION_TYPE", "CHASE_MOTION_TYPE", "ChaseMovementGenerator.h" };
40 case HOME_MOTION_TYPE: return { "HOME_MOTION_TYPE", "HOME_MOTION_TYPE", "HomeMovementGenerator.h" };
41 case FLIGHT_MOTION_TYPE: return { "FLIGHT_MOTION_TYPE", "FLIGHT_MOTION_TYPE", "FlightPathMovementGenerator.h" };
42 case POINT_MOTION_TYPE: return { "POINT_MOTION_TYPE", "POINT_MOTION_TYPE", "PointMovementGenerator.h" };
43 case FLEEING_MOTION_TYPE: return { "FLEEING_MOTION_TYPE", "FLEEING_MOTION_TYPE", "FleeingMovementGenerator.h" };
44 case DISTRACT_MOTION_TYPE: return { "DISTRACT_MOTION_TYPE", "DISTRACT_MOTION_TYPE", "IdleMovementGenerator.h" };
45 case ASSISTANCE_MOTION_TYPE: return { "ASSISTANCE_MOTION_TYPE", "ASSISTANCE_MOTION_TYPE", "PointMovementGenerator.h" };
46 case ASSISTANCE_DISTRACT_MOTION_TYPE: return { "ASSISTANCE_DISTRACT_MOTION_TYPE", "ASSISTANCE_DISTRACT_MOTION_TYPE", "IdleMovementGenerator.h" };
47 case TIMED_FLEEING_MOTION_TYPE: return { "TIMED_FLEEING_MOTION_TYPE", "TIMED_FLEEING_MOTION_TYPE", "FleeingMovementGenerator.h" };
48 case FOLLOW_MOTION_TYPE: return { "FOLLOW_MOTION_TYPE", "FOLLOW_MOTION_TYPE", "FollowMovementGenerator.h" };
49 case ROTATE_MOTION_TYPE: return { "ROTATE_MOTION_TYPE", "ROTATE_MOTION_TYPE", "IdleMovementGenerator.h" };
50 case EFFECT_MOTION_TYPE: return { "EFFECT_MOTION_TYPE", "EFFECT_MOTION_TYPE", "" };
51 case SPLINE_CHAIN_MOTION_TYPE: return { "SPLINE_CHAIN_MOTION_TYPE", "SPLINE_CHAIN_MOTION_TYPE", "SplineChainMovementGenerator.h" };
52 case FORMATION_MOTION_TYPE: return { "FORMATION_MOTION_TYPE", "FORMATION_MOTION_TYPE", "FormationMovementGenerator.h" };
53 default: throw std::out_of_range("value");
54 }
55}
56
57template <>
59
60template <>
62{
63 switch (index)
64 {
65 case 0: return IDLE_MOTION_TYPE;
66 case 1: return RANDOM_MOTION_TYPE;
67 case 2: return WAYPOINT_MOTION_TYPE;
68 case 3: return MAX_DB_MOTION_TYPE;
69 case 4: return CONFUSED_MOTION_TYPE;
70 case 5: return CHASE_MOTION_TYPE;
71 case 6: return HOME_MOTION_TYPE;
72 case 7: return FLIGHT_MOTION_TYPE;
73 case 8: return POINT_MOTION_TYPE;
74 case 9: return FLEEING_MOTION_TYPE;
75 case 10: return DISTRACT_MOTION_TYPE;
76 case 11: return ASSISTANCE_MOTION_TYPE;
77 case 12: return ASSISTANCE_DISTRACT_MOTION_TYPE;
78 case 13: return TIMED_FLEEING_MOTION_TYPE;
79 case 14: return FOLLOW_MOTION_TYPE;
80 case 15: return ROTATE_MOTION_TYPE;
81 case 16: return EFFECT_MOTION_TYPE;
82 case 17: return SPLINE_CHAIN_MOTION_TYPE;
83 case 18: return FORMATION_MOTION_TYPE;
84 default: throw std::out_of_range("index");
85 }
86}
87
88template <>
90{
91 switch (value)
92 {
93 case IDLE_MOTION_TYPE: return 0;
94 case RANDOM_MOTION_TYPE: return 1;
95 case WAYPOINT_MOTION_TYPE: return 2;
96 case MAX_DB_MOTION_TYPE: return 3;
97 case CONFUSED_MOTION_TYPE: return 4;
98 case CHASE_MOTION_TYPE: return 5;
99 case HOME_MOTION_TYPE: return 6;
100 case FLIGHT_MOTION_TYPE: return 7;
101 case POINT_MOTION_TYPE: return 8;
102 case FLEEING_MOTION_TYPE: return 9;
103 case DISTRACT_MOTION_TYPE: return 10;
104 case ASSISTANCE_MOTION_TYPE: return 11;
105 case ASSISTANCE_DISTRACT_MOTION_TYPE: return 12;
106 case TIMED_FLEEING_MOTION_TYPE: return 13;
107 case FOLLOW_MOTION_TYPE: return 14;
108 case ROTATE_MOTION_TYPE: return 15;
109 case EFFECT_MOTION_TYPE: return 16;
110 case SPLINE_CHAIN_MOTION_TYPE: return 17;
111 case FORMATION_MOTION_TYPE: return 18;
112 default: throw std::out_of_range("value");
113 }
114}
115}
#define TC_API_EXPORT
Definition: Define.h:92
MovementGeneratorType
@ TIMED_FLEEING_MOTION_TYPE
@ MAX_DB_MOTION_TYPE
@ FORMATION_MOTION_TYPE
@ ASSISTANCE_MOTION_TYPE
@ DISTRACT_MOTION_TYPE
@ IDLE_MOTION_TYPE
@ CHASE_MOTION_TYPE
@ SPLINE_CHAIN_MOTION_TYPE
@ ROTATE_MOTION_TYPE
@ WAYPOINT_MOTION_TYPE
@ FLEEING_MOTION_TYPE
@ CONFUSED_MOTION_TYPE
@ HOME_MOTION_TYPE
@ POINT_MOTION_TYPE
@ FLIGHT_MOTION_TYPE
@ FOLLOW_MOTION_TYPE
@ RANDOM_MOTION_TYPE
@ ASSISTANCE_DISTRACT_MOTION_TYPE
@ EFFECT_MOTION_TYPE
static size_t ToIndex(Enum index)
static EnumText ToString(Enum value)
static Enum FromIndex(size_t index)