1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 06:47:45 +00:00
sapphire/src/servers/Server_Zone/DebugCommand/DebugCommand.h

68 lines
1.4 KiB
C
Raw Normal View History

2017-08-08 13:53:47 +02:00
#ifndef _GAMECOMMAND_H_
#define _GAMECOMMAND_H_
2017-08-19 00:18:40 +02:00
#include <src/servers/Server_Common/Common.h>
2017-08-08 13:53:47 +02:00
#include "src/servers/Server_Zone/Actor/Player.h"
#include "src/servers/Server_Zone/Forwards.h"
2017-08-08 13:53:47 +02:00
namespace Core {
class DebugCommandHandler;
2017-08-08 13:53:47 +02:00
// CGameCommand is used to define in game text command callbacks
// TODO it should probably be renamed to something more intuitive
// TODO the command identifier, currently '@' should probably be defined in here aswell so it is easily replaced
class DebugCommand
2017-08-08 13:53:47 +02:00
{
public:
typedef void ( DebugCommandHandler::*pFunc )( char *, Entity::PlayerPtr, boost::shared_ptr< DebugCommand > );
2017-08-08 13:53:47 +02:00
// String for the command
std::string m_commandName;
// command callback
pFunc m_pFunc;
// helptext
std::string m_helpText;
// userlevel needed to execute the command
uint8_t m_gmLevel;
2017-08-08 13:53:47 +02:00
DebugCommand( const std::string& n, pFunc functionPtr, const std::string& hText, uint8_t uLevel )
2017-08-08 13:53:47 +02:00
{
m_commandName = n;
m_pFunc = functionPtr;
m_helpText = hText;
m_gmLevel = uLevel;
2017-08-08 13:53:47 +02:00
}
~DebugCommand()
2017-08-08 13:53:47 +02:00
{
}
const std::string& getName() const
{
return m_commandName;
}
const std::string& getHelpText() const
{
return m_helpText;
}
uint8_t getRequiredGmLevel() const
2017-08-08 13:53:47 +02:00
{
return m_gmLevel;
2017-08-08 13:53:47 +02:00
}
};
}
#endif