Planeshift
GMEventManager Class Reference

GameMaster Events manager class. More...

#include <gmeventmanager.h>

Public Member Functions

bool AddNewGMEvent (Client *client, csString eventName, csString eventDescription)
 GM attempts to add new event. More...
 
bool AssumeControlOfGMEvent (Client *client, csString eventName)
 GM attempts to assume control of an event, after originator has absconded. More...
 
bool CompleteGMEvent (Client *client, PID gmID, bool byTheControllerGM=true)
 A player completes an event. More...
 
bool CompleteGMEvent (Client *client, csString eventName)
 A player completes an event. More...
 
bool EraseGMEvent (Client *client, csString eventName)
 GM discards an event of theirs by name; participants are removed, and it is wiped from the DB. More...
 
int GetAllGMEventsForPlayer (PID playerID, csArray< int > &completedEvents, int &runningEventAsGM, csArray< int > &completedEventsAsGM)
 Returns all events for a player. More...
 
GMEventStatus GetGMEventDetailsByID (int id, csString &name, csString &description)
 Returns event details for a particular event. More...
 
 GMEventManager ()
 
virtual void HandleGMEventCommand (MsgEntry *me, Client *client)
 handle message from client More...
 
bool Initialise (void)
 
bool ListGMEvents (Client *client)
 Sends a list of all events to client. More...
 
bool RegisterPlayerInGMEvent (Client *client, Client *target)
 GM registers player into his/her event. More...
 
bool RegisterPlayersInRangeInGMEvent (Client *client, float range)
 GM registers all players in range. More...
 
bool RemovePlayerFromGMEvent (Client *client, Client *target)
 A player is removed from a running event. More...
 
bool RemovePlayerFromGMEvents (PID playerID)
 Removes a player from any GM event they maybe involved with (eg player being deleted) More...
 
bool RewardPlayersInGMEvent (Client *client, RangeSpecifier rewardRecipient, float range, Client *target, psRewardData *reward)
 Reward players who complete an event. More...
 
 ~GMEventManager ()
 
- Public Member Functions inherited from MessageManager< GMEventManager >
void HandleMessage (MsgEntry *msg, Client *client)
 Transfers the message to the manager specific function. More...
 
void Subscribe (FunctionPointer fpt, msgtype type, uint32_t flags=0x01)
 Subscribes this manager to a specific message type with a custom callback. More...
 
bool Unsubscribe (msgtype type)
 Unsubscribes this manager from a specific message type. More...
 
bool Unsubscribe (FunctionPointer handler, msgtype type)
 Unsubscribes a specific handler from a specific message type. More...
 
bool UnsubscribeAll ()
 Unsubscribes this manager from all message types. More...
 
virtual ~MessageManager ()
 Unsubscribes all messages then destroys this object. More...
 
- Public Member Functions inherited from MessageManagerBase
csArray< csString > DecodeCommandArea (Client *client, csString target)
 Decodes an area: expression. More...
 
gemObjectFindObjectByString (const csString &str, gemActor *me) const
 Find the object we are referring to in str. More...
 
ClientFindPlayerClient (const char *name)
 Finds Client* of character with given name. More...
 
virtual bool Verify (MsgEntry *pMsg, unsigned int flags, Client *&client)
 

Additional Inherited Members

- Public Types inherited from MessageManager< GMEventManager >
typedef void(GMEventManager::* FunctionPointer) (MsgEntry *, Client *)
 

Detailed Description

GameMaster Events manager class.

Definition at line 72 of file gmeventmanager.h.

Constructor & Destructor Documentation

GMEventManager::GMEventManager ( )
GMEventManager::~GMEventManager ( )

Member Function Documentation

bool GMEventManager::AddNewGMEvent ( Client client,
csString  eventName,
csString  eventDescription 
)

GM attempts to add new event.

Parameters
clientclient pointer.
eventNameevent name.
eventDescriptionevent description.
Returns
true = success, false = failed.
bool GMEventManager::AssumeControlOfGMEvent ( Client client,
csString  eventName 
)

GM attempts to assume control of an event, after originator has absconded.

Parameters
clientclient pointer.
eventNameevent name.
Returns
true = success, false = failed.
bool GMEventManager::CompleteGMEvent ( Client client,
PID  gmID,
bool  byTheControllerGM = true 
)

A player completes an event.

Parameters
clientclient pointer.
gmIDGame Master player ID.
byTheControllerGMtrue if it is the controlling GM
Returns
true = success, false = failed.
bool GMEventManager::CompleteGMEvent ( Client client,
csString  eventName 
)

A player completes an event.

Parameters
clientclient pointer.
eventNameName of the event.
Returns
true = success, false = failed.
bool GMEventManager::EraseGMEvent ( Client client,
csString  eventName 
)

GM discards an event of theirs by name; participants are removed, and it is wiped from the DB.

Parameters
clientclient pointer.
eventNameevent name.
Returns
true = success, false = failed.
int GMEventManager::GetAllGMEventsForPlayer ( PID  playerID,
csArray< int > &  completedEvents,
int runningEventAsGM,
csArray< int > &  completedEventsAsGM 
)

Returns all events for a player.

Parameters
playerIDthe player identity.
completedEventsarray of event ids of completed events player.
runningEventAsGMrunning event id as GM.
completedEventsAsGMarray of ids of completed events as GM.
Returns
int running event id.
GMEventStatus GMEventManager::GetGMEventDetailsByID ( int  id,
csString &  name,
csString &  description 
)

Returns event details for a particular event.

Parameters
idevent id.
namename of event.
descriptiondescription of event.
Returns
GMEventStatus status of event.
virtual void GMEventManager::HandleGMEventCommand ( MsgEntry me,
Client client 
)
virtual

handle message from client

bool GMEventManager::Initialise ( void  )
bool GMEventManager::ListGMEvents ( Client client)

Sends a list of all events to client.

Parameters
clientclient pointer.
Returns
true = success, false = failed.
bool GMEventManager::RegisterPlayerInGMEvent ( Client client,
Client target 
)

GM registers player into his/her event.

Parameters
clientclient pointer.
targetregisteree player client.
Returns
true = success, false = failed.
bool GMEventManager::RegisterPlayersInRangeInGMEvent ( Client client,
float  range 
)

GM registers all players in range.

Parameters
clientclient pointer.
rangerequired range.
Returns
true = success, false = failed.
bool GMEventManager::RemovePlayerFromGMEvent ( Client client,
Client target 
)

A player is removed from a running event.

A player can be excused from finishing an event.

Parameters
clientclient pointer.
targetregisteree player client to be removed.
Returns
true = success, false = failed.
bool GMEventManager::RemovePlayerFromGMEvents ( PID  playerID)

Removes a player from any GM event they maybe involved with (eg player being deleted)

Parameters
playerIDid of player being removed
Returns
true = success
bool GMEventManager::RewardPlayersInGMEvent ( Client client,
RangeSpecifier  rewardRecipient,
float  range,
Client target,
psRewardData reward 
)

Reward players who complete an event.

Event must be live at the time of reward).

Parameters
clientclient pointer.
rewardRecipientwho will receive the reward.
rangerequired range of winners (NO_RANGE = all participants).
targetspecific individual winner.
rewardThe reward.
Returns
true = success, false = failed.

The documentation for this class was generated from the following file: