mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-01-06 08:50:14 -06:00
60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
|
|
#ifndef EWAYPOINTCOMMANDTYPES_H
|
|
#define EWAYPOINTCOMMANDTYPES_H
|
|
|
|
#include <cstdint>
|
|
|
|
enum class eWaypointCommandType : uint32_t {
|
|
INVALID,
|
|
BOUNCE,
|
|
STOP,
|
|
GROUP_EMOTE,
|
|
SET_VARIABLE,
|
|
CAST_SKILL,
|
|
EQUIP_INVENTORY,
|
|
UNEQUIP_INVENTORY,
|
|
DELAY,
|
|
EMOTE,
|
|
TELEPORT,
|
|
PATH_SPEED,
|
|
REMOVE_NPC,
|
|
CHANGE_WAYPOINT,
|
|
DELETE_SELF,
|
|
KILL_SELF,
|
|
SPAWN_OBJECT,
|
|
PLAY_SOUND,
|
|
};
|
|
|
|
class WaypointCommandType {
|
|
public:
|
|
static eWaypointCommandType StringToWaypointCommandType(std::string commandString) {
|
|
const std::map<std::string, eWaypointCommandType> WaypointCommandTypeMap = {
|
|
{"bounce", eWaypointCommandType::BOUNCE},
|
|
{"stop", eWaypointCommandType::STOP},
|
|
{"groupemote", eWaypointCommandType::GROUP_EMOTE},
|
|
{"setvar", eWaypointCommandType::SET_VARIABLE},
|
|
{"castskill", eWaypointCommandType::CAST_SKILL},
|
|
{"eqInvent", eWaypointCommandType::EQUIP_INVENTORY},
|
|
{"unInvent", eWaypointCommandType::UNEQUIP_INVENTORY},
|
|
{"delay", eWaypointCommandType::DELAY},
|
|
{"femote", eWaypointCommandType::EMOTE},
|
|
{"emote", eWaypointCommandType::EMOTE},
|
|
{"teleport", eWaypointCommandType::TELEPORT},
|
|
{"pathspeed", eWaypointCommandType::PATH_SPEED},
|
|
{"removeNPC", eWaypointCommandType::REMOVE_NPC},
|
|
{"changeWP", eWaypointCommandType::CHANGE_WAYPOINT},
|
|
{"DeleteSelf", eWaypointCommandType::DELETE_SELF},
|
|
{"killself", eWaypointCommandType::KILL_SELF},
|
|
{"removeself", eWaypointCommandType::DELETE_SELF},
|
|
{"spawnOBJ", eWaypointCommandType::SPAWN_OBJECT},
|
|
{"playSound", eWaypointCommandType::PLAY_SOUND},
|
|
};
|
|
|
|
auto intermed = WaypointCommandTypeMap.find(commandString);
|
|
return (intermed != WaypointCommandTypeMap.end()) ? intermed->second : eWaypointCommandType::INVALID;
|
|
};
|
|
};
|
|
|
|
|
|
#endif //!EWAYPOINTCOMMANDTYPES_H
|