|
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... | |
Public Member Functions inherited from MessageManager< ActionManager > | |
| 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... | |
| 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 | |
Public Types inherited from MessageManager< ActionManager > | |
| 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.