Planeshift
|
Handles the map interaction system. More...
#include <actionmanager.h>
Public Member Functions | |
ActionManager (psDatabase *db) | |
Constructor. | |
void | AddActiveTrigger (EID actorEID, const psActionLocation *actionLocation) |
Add a new active actionLocation for this client. | |
bool | CacheActionLocation (psActionLocation *action) |
Loads cache with given action location. | |
psActionLocation * | FindAction (EID id) |
Finds an ActionLocation from it's CEL Entity ID. | |
psActionLocation * | FindActionByID (uint32 id) |
Finds an ActionLocation from the action ID. | |
psActionLocation * | FindAvailableEntrances (csString entranceSector) |
Finds an inactive entrance action location in the specified target sector map. | |
void | HandleMapAction (MsgEntry *msg, Client *client) |
Processes psMapActionMessages. | |
bool | HandleUse (gemActionLocation *actionlocation, Client *client) |
Handles the /use command on an AL or the click on use button. | |
bool | HasActiveTrigger (EID actorEID, const psActionLocation *actionLocation) |
Check if there is an active action location for this client/actionLocation pair. | |
void | NotifyProximity (gemActor *actor, gemActionLocation *actionLocationObject, float range) |
Handle notification from the proxy system about players nearby action locations. | |
void | RemoveActiveTrigger (EID actorEID, const psActionLocation *actionLocation) |
Remove all active trigger flag for this client and action location. | |
bool | RepopulateActionLocations (psSectorInfo *sectorinfo=0) |
Loads cache from action_location table in db. | |
virtual | ~ActionManager () |
Destructor. | |
Protected Member Functions | |
void | HandleDeleteMessage (csString xml, Client *client) |
Handles Delete messages from client. | |
void | HandleExamineOperation (psActionLocation *action, Client *client) |
Handles Examine Operation for a action location. | |
void | HandleListMessage (csString xml, Client *client) |
Handles List messages from client. | |
void | HandleQueryMessage (csString xml, Client *client) |
Handles Query messages from client. | |
void | HandleReloadMessage (Client *client) |
Handles Reload messages from client. | |
void | HandleSaveMessage (csString xml, Client *client) |
Handles Save messages from client. | |
void | HandleScriptOperation (psActionLocation *action, gemActor *actor) |
Handles Script Operation for a action location. | |
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 |
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 ActionManager::~ActionManager | ( | ) | [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. |
void ActionManager::HandleDeleteMessage | ( | csString | xml, |
Client * | client | ||
) | [protected] |
Handles Delete messages from client.
xml | xml containing query parameters. |
client | The client that sent the message. |
void ActionManager::HandleExamineOperation | ( | psActionLocation * | action, |
Client * | client | ||
) | [protected] |
Handles Examine Operation for a action location.
action | The action that is to be performed. |
client | The client that sent the message. |
void ActionManager::HandleListMessage | ( | csString | xml, |
Client * | client | ||
) | [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. |
void ActionManager::HandleQueryMessage | ( | csString | xml, |
Client * | client | ||
) | [protected] |
Handles Query messages from client.
xml | xml containing query parameters. |
client | The client that sent the message. |
void ActionManager::HandleReloadMessage | ( | Client * | client | ) | [protected] |
Handles Reload messages from client.
client | The client that sent the message. |
void ActionManager::HandleSaveMessage | ( | csString | xml, |
Client * | client | ||
) | [protected] |
Handles Save messages from client.
xml | xml containing query parameters. |
client | The client that sent the message. |
void ActionManager::HandleScriptOperation | ( | psActionLocation * | action, |
gemActor * | actor | ||
) | [protected] |
Handles Script Operation for a action location.
action | The action that is to be performed. |
actor | The actor triggered the script. |
bool ActionManager::HandleSelectQuery | ( | iDocumentNode * | topNode, |
Client * | client | ||
) | [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. |
void ActionManager::LoadXML | ( | iDocumentNode * | topNode | ) | [protected] |
void ActionManager::NotifyProximity | ( | gemActor * | actor, |
gemActionLocation * | actionLocationObject, | ||
float | range | ||
) |
Handle notification from the proxy system about players nearby action locations.
bool ActionManager::ProcessMatches | ( | csArray< psActionLocation * > | matches, |
Client * | client | ||
) | [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. |
csHash<psActionLocation*, uint32> ActionManager::actionLocation_by_id [protected] |
Definition at line 275 of file actionmanager.h.
csHash<psActionLocation*> ActionManager::actionLocation_by_name [protected] |
Definition at line 273 of file actionmanager.h.
csHash<psActionLocation*> ActionManager::actionLocation_by_sector [protected] |
Definition at line 274 of file actionmanager.h.
csHash<psActionLocation*> ActionManager::actionLocationList [protected] |
Definition at line 272 of file actionmanager.h.
csHash<const psActionLocation*> ActionManager::activeTriggers [protected] |
Definition at line 276 of file actionmanager.h.
psDatabase* ActionManager::database [protected] |
Definition at line 271 of file actionmanager.h.
csString ActionManager::meshName [protected] |
Definition at line 267 of file actionmanager.h.
csVector3 ActionManager::position [protected] |
Definition at line 268 of file actionmanager.h.
csString ActionManager::sectorName [protected] |
Definition at line 266 of file actionmanager.h.
csString ActionManager::triggerType [protected] |
Definition at line 265 of file actionmanager.h.