TrinityCore
Loading...
Searching...
No Matches
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 case FACE_MOTION_TYPE: return { "FACE_MOTION_TYPE", "FACE_MOTION_TYPE", "" };
54 default: throw std::out_of_range("value");
55 }
56}
57
58template <>
60
61template <>
63{
64 switch (index)
65 {
66 case 0: return IDLE_MOTION_TYPE;
67 case 1: return RANDOM_MOTION_TYPE;
68 case 2: return WAYPOINT_MOTION_TYPE;
69 case 3: return MAX_DB_MOTION_TYPE;
70 case 4: return CONFUSED_MOTION_TYPE;
71 case 5: return CHASE_MOTION_TYPE;
72 case 6: return HOME_MOTION_TYPE;
73 case 7: return FLIGHT_MOTION_TYPE;
74 case 8: return POINT_MOTION_TYPE;
75 case 9: return FLEEING_MOTION_TYPE;
76 case 10: return DISTRACT_MOTION_TYPE;
77 case 11: return ASSISTANCE_MOTION_TYPE;
78 case 12: return ASSISTANCE_DISTRACT_MOTION_TYPE;
79 case 13: return TIMED_FLEEING_MOTION_TYPE;
80 case 14: return FOLLOW_MOTION_TYPE;
81 case 15: return ROTATE_MOTION_TYPE;
82 case 16: return EFFECT_MOTION_TYPE;
83 case 17: return SPLINE_CHAIN_MOTION_TYPE;
84 case 18: return FORMATION_MOTION_TYPE;
85 case 19: return FACE_MOTION_TYPE;
86 default: throw std::out_of_range("index");
87 }
88}
89
90template <>
92{
93 switch (value)
94 {
95 case IDLE_MOTION_TYPE: return 0;
96 case RANDOM_MOTION_TYPE: return 1;
97 case WAYPOINT_MOTION_TYPE: return 2;
98 case MAX_DB_MOTION_TYPE: return 3;
99 case CONFUSED_MOTION_TYPE: return 4;
100 case CHASE_MOTION_TYPE: return 5;
101 case HOME_MOTION_TYPE: return 6;
102 case FLIGHT_MOTION_TYPE: return 7;
103 case POINT_MOTION_TYPE: return 8;
104 case FLEEING_MOTION_TYPE: return 9;
105 case DISTRACT_MOTION_TYPE: return 10;
106 case ASSISTANCE_MOTION_TYPE: return 11;
107 case ASSISTANCE_DISTRACT_MOTION_TYPE: return 12;
108 case TIMED_FLEEING_MOTION_TYPE: return 13;
109 case FOLLOW_MOTION_TYPE: return 14;
110 case ROTATE_MOTION_TYPE: return 15;
111 case EFFECT_MOTION_TYPE: return 16;
112 case SPLINE_CHAIN_MOTION_TYPE: return 17;
113 case FORMATION_MOTION_TYPE: return 18;
114 case FACE_MOTION_TYPE: return 19;
115 default: throw std::out_of_range("value");
116 }
117}
118}
#define TC_API_EXPORT
Definition Define.h:89
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
@ FACE_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)