Planeshift
|
Handles the map interaction system. More...
#include <actionmanager.h>
Public Member Functions | |
ActionManager (psDatabase *db) | |
Constructor. More... | |
void | AddActiveTrigger (EID actorEID, const psActionLocation *actionLocation) |
Add a new active actionLocation for this client. More... | |
bool | CacheActionLocation (psActionLocation *action) |
Loads cache with given action location. More... | |
psActionLocation * | FindAction (EID id) |
Finds an ActionLocation from it's CEL Entity ID. More... | |
psActionLocation * | FindActionByID (uint32 id) |
Finds an ActionLocation from the action ID. More... | |
psActionLocation * | FindAvailableEntrances (csString entranceSector) |
Finds an inactive entrance action location in the specified target sector map. More... | |
void | HandleMapAction (MsgEntry *msg, Client *client) |
Processes psMapActionMessages. More... | |
bool | HandleUse (gemActionLocation *actionlocation, Client *client) |
Handles the /use command on an AL or the click on use button. More... | |
bool | HasActiveTrigger (EID actorEID, const psActionLocation *actionLocation) |
Check if there is an active action location for this client/actionLocation pair. More... | |
void | NotifyProximity (gemActor *actor, gemActionLocation *actionLocationObject, float range) |
Handle notification from the proxy system about players nearby action locations. More... | |
void | RemoveActiveTrigger (EID actorEID, const psActionLocation *actionLocation) |
Remove all active trigger flag for this client and action location. More... | |
bool | RepopulateActionLocations (psSectorInfo *sectorinfo=0) |
Loads cache from action_location table in db. More... | |
virtual | ~ActionManager () |
Destructor. More... | |
![]() | |
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... | |
![]() | |
csArray< csString > | DecodeCommandArea (Client *client, csString target) |
Decodes an area: expression. More... | |
gemObject * | FindObjectByString (const csString &str, gemActor *me) const |
Find the object we are referring to in str. More... | |
Client * | FindPlayerClient (const char *name) |
Finds Client* of character with given name. More... | |
virtual bool | Verify (MsgEntry *pMsg, unsigned int flags, Client *&client) |
Protected Member Functions | |
void | HandleDeleteMessage (csString xml, Client *client) |
Handles Delete messages from client. More... | |
void | HandleExamineOperation (psActionLocation *action, Client *client) |
Handles Examine Operation for a action location. More... | |
void | HandleListMessage (csString xml, Client *client) |
Handles List messages from client. More... | |
void | HandleQueryMessage (csString xml, Client *client) |
Handles Query messages from client. More... | |
void | HandleReloadMessage (Client *client) |
Handles Reload messages from client. More... | |
void | HandleSaveMessage (csString xml, Client *client) |
Handles Save messages from client. More... | |
void | HandleScriptOperation (psActionLocation *action, gemActor *actor) |
Handles Script Operation for a action location. More... | |
bool | HandleSelectQuery (iDocumentNode *topNode, Client *client) |
void | LoadXML (iDocumentNode *topNode) |
bool | ProcessMatches (csArray< psActionLocation * > matches, Client *client) |
Protected Attributes | |
csHash< psActionLocation *, uint32 > | actionLocation_by_id |
csHash< psActionLocation * > | actionLocation_by_name |
csHash< psActionLocation * > | actionLocation_by_sector |
csHash< psActionLocation * > | actionLocationList |
csHash< const psActionLocation * > | activeTriggers |
psDatabase * | database |
csString | meshName |
csVector3 | position |
csString | sectorName |
csString | triggerType |
Additional Inherited Members | |
![]() | |
typedef void(ActionManager::* | FunctionPointer) (MsgEntry *, Client *) |
Handles the map interaction system.
Used to populate/update/change current action locations. Action locations can either be triggered by user action or proximity to the action location.
Definition at line 107 of file actionmanager.h.
ActionManager::ActionManager | ( | psDatabase * | db | ) |
Constructor.
|
virtual |
Destructor.
void ActionManager::AddActiveTrigger | ( | EID | actorEID, |
const psActionLocation * | actionLocation | ||
) |
Add a new active actionLocation for this client.
actorEID | The EID of the actor to remove from the given action location. |
actionLocation | The location that is triggered for the given actor. |
bool ActionManager::CacheActionLocation | ( | psActionLocation * | action | ) |
Loads cache with given action location.
action | The action location to which you want to load |
psActionLocation* ActionManager::FindAction | ( | EID | id | ) |
Finds an ActionLocation from it's CEL Entity ID.
id | The id of the cel entity to find. |
psActionLocation* ActionManager::FindActionByID | ( | uint32 | id | ) |
Finds an ActionLocation from the action ID.
id | The id of the action location. |
psActionLocation* ActionManager::FindAvailableEntrances | ( | csString | entranceSector | ) |
Finds an inactive entrance action location in the specified target sector map.
entranceSector | The entrance teleport target sector string to qualify the search. |
|
protected |
Handles Delete messages from client.
xml | xml containing query parameters. |
client | The client that sent the message. |
|
protected |
Handles Examine Operation for a action location.
action | The action that is to be performed. |
client | The client that sent the message. |
|
protected |
Handles List messages from client.
xml | xml containing query parameters. |
client | The client that sent the message. |
Processes psMapActionMessages.
msg | The message to process |
client | The client that sent the message. |
|
protected |
Handles Query messages from client.
xml | xml containing query parameters. |
client | The client that sent the message. |
|
protected |
Handles Reload messages from client.
client | The client that sent the message. |
|
protected |
Handles Save messages from client.
xml | xml containing query parameters. |
client | The client that sent the message. |
|
protected |
Handles Script Operation for a action location.
action | The action that is to be performed. |
actor | The actor triggered the script. |
|
protected |
bool ActionManager::HandleUse | ( | gemActionLocation * | actionlocation, |
Client * | client | ||
) |
Handles the /use command on an AL or the click on use button.
client | The client that issued the use command |
bool ActionManager::HasActiveTrigger | ( | EID | actorEID, |
const psActionLocation * | actionLocation | ||
) |
Check if there is an active action location for this client/actionLocation pair.
actorEID | The EID of the actor to remove from the given action location. |
actionLocation | The location that is triggered for the given actor. |
|
protected |
void ActionManager::NotifyProximity | ( | gemActor * | actor, |
gemActionLocation * | actionLocationObject, | ||
float | range | ||
) |
Handle notification from the proxy system about players nearby action locations.
|
protected |
void ActionManager::RemoveActiveTrigger | ( | EID | actorEID, |
const psActionLocation * | actionLocation | ||
) |
Remove all active trigger flag for this client and action location.
actorEID | The EID of the actor to remove from the given action location. |
actionLocation | The location that is triggered for the given actor. |
bool ActionManager::RepopulateActionLocations | ( | psSectorInfo * | sectorinfo = 0 | ) |
Loads cache from action_location table in db.
sectorinfo | The sector to repopulate. Null means all sectors. |
|
protected |
Definition at line 275 of file actionmanager.h.
|
protected |
Definition at line 273 of file actionmanager.h.
|
protected |
Definition at line 274 of file actionmanager.h.
|
protected |
Definition at line 272 of file actionmanager.h.
|
protected |
Definition at line 276 of file actionmanager.h.
|
protected |
Definition at line 271 of file actionmanager.h.
|
protected |
Definition at line 267 of file actionmanager.h.
|
protected |
Definition at line 268 of file actionmanager.h.
|
protected |
Definition at line 266 of file actionmanager.h.
|
protected |
Definition at line 265 of file actionmanager.h.