Planeshift
|
Manages CEL entities on the server. More...
#include <entitymanager.h>
Public Member Functions | |
bool | AddRideRelation (gemActor *rider, gemActor *mount) |
gemNPC * | CloneNPC (psCharacter *chardata) |
Clone a NPC. More... | |
PID | CopyNPCFromDatabase (PID master_id, float x, float y, float z, float angle, const csString §or, InstanceID instance, const char *firstName=NULL, const char *lastName=NULL) |
bool | CreateActionLocation (psActionLocation *instance, bool transient) |
gemNPC * | CreateFamiliar (gemActor *owner, PID masterPID) |
Create a new familiar NPC. More... | |
gemNPC * | CreateHiredNPC (gemActor *owner, PID masterPID, const csString &name) |
Create a new hired NPC. More... | |
gemItem * | CreateItem (psItem *iteminstance, bool transient, int tribeID=0) |
EID | CreateNPC (PID npcID, bool updateProxList=true, bool alwaysWatching=false) |
EID | CreateNPC (psCharacter *chardata, bool updateProxList=true, bool alwaysWatching=false) |
EID | CreateNPC (psCharacter *chardata, InstanceID instance, csVector3 pos, iSector *sector, float yrot, bool updateProxList=true, bool alwaysWatching=false) |
bool | CreatePlayer (Client *client) |
bool | DeleteActor (gemObject *actor) |
Delete an actor from the world. More... | |
bool | DeletePlayer (Client *client) |
EntityManager () | |
iSector * | FindSector (const char *name) |
ClientConnectionSet * | GetClients () |
iEngine * | GetEngine () |
GEMSupervisor * | GetGEM () |
psWorld * | GetWorld () |
void | HandleActor (MsgEntry *me, Client *client) |
void | HandleAllRequest (MsgEntry *me, Client *client) |
void | HandleUserAction (MsgEntry *me, Client *client) |
void | HandleWorld (MsgEntry *me, Client *client) |
bool | HasBeenReady () |
bool | Initialize (iObjectRegistry *object_reg, ClientConnectionSet *clients, UserManager *usermanager, GEMSupervisor *gemsupervisor, psServerDR *psserverdr, CacheManager *cachemanager) |
bool | IsReady () |
bool | LoadMap (const char *mapname) |
gemItem * | MoveItemToWorld (psItem *keyItem, InstanceID instance, psSectorInfo *sectorinfo, float loc_x, float loc_y, float loc_z, float loc_xrot, float loc_yrot, float loc_zrot, psCharacter *owner, bool transient) |
bool | RemoveActor (gemObject *actor) |
void | RemoveRideRelation (gemActor *rider) |
void | SendMovementInfo (MsgEntry *me, Client *client) |
void | SetReady (bool flag) |
virtual | ~EntityManager () |
![]() | |
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) |
![]() | |
Singleton (EntityManager *ptr) | |
Singleton (void) | |
~Singleton () | |
Protected Member Functions | |
int | CalculateFamiliarAffinity (psCharacter *chardata, size_t type, size_t lifecycle, size_t attacktool, size_t attacktype) |
void | CreateMovementInfoMsg () |
PID | GetMasterFamiliarID (psCharacter *charData) |
void | LoadFamiliarAffinityAttributes () |
void | LoadFamiliarTypes () |
bool | SendActorList (Client *client) |
Protected Attributes | |
csHash< psAffinityAttribute * > | affinityAttributeList |
CacheManager * | cacheManager |
ClientConnectionSet * | clients |
psDatabase * | database |
iEngine * | engine |
csHash< psFamiliarType *, PID > | familiarTypeList |
psWorld * | gameWorld |
GEMSupervisor * | gem |
bool | hasBeenReady |
psMovementInfoMessage * | moveinfomsg |
bool | ready |
psServerDR * | serverdr |
UserManager * | usermanager |
Additional Inherited Members | |
![]() | |
typedef void(EntityManager::* | FunctionPointer) (MsgEntry *, Client *) |
![]() | |
static EntityManager & | GetSingleton (void) |
static EntityManager * | GetSingletonPtr (void) |
Manages CEL entities on the server.
Definition at line 77 of file entitymanager.h.
EntityManager::EntityManager | ( | ) |
|
virtual |
|
protected |
gemNPC* EntityManager::CloneNPC | ( | psCharacter * | chardata | ) |
Clone a NPC.
Used by the tribe system to generate new mebers.
PID EntityManager::CopyNPCFromDatabase | ( | PID | master_id, |
float | x, | ||
float | y, | ||
float | z, | ||
float | angle, | ||
const csString & | sector, | ||
InstanceID | instance, | ||
const char * | firstName = NULL , |
||
const char * | lastName = NULL |
||
) |
bool EntityManager::CreateActionLocation | ( | psActionLocation * | instance, |
bool | transient | ||
) |
Create a new familiar NPC.
Create a new hired NPC.
|
protected |
EID EntityManager::CreateNPC | ( | PID | npcID, |
bool | updateProxList = true , |
||
bool | alwaysWatching = false |
||
) |
EID EntityManager::CreateNPC | ( | psCharacter * | chardata, |
bool | updateProxList = true , |
||
bool | alwaysWatching = false |
||
) |
EID EntityManager::CreateNPC | ( | psCharacter * | chardata, |
InstanceID | instance, | ||
csVector3 | pos, | ||
iSector * | sector, | ||
float | yrot, | ||
bool | updateProxList = true , |
||
bool | alwaysWatching = false |
||
) |
bool EntityManager::CreatePlayer | ( | Client * | client | ) |
bool EntityManager::DeleteActor | ( | gemObject * | actor | ) |
bool EntityManager::DeletePlayer | ( | Client * | client | ) |
iSector* EntityManager::FindSector | ( | const char * | name | ) |
|
inline |
Definition at line 167 of file entitymanager.h.
|
inline |
Definition at line 162 of file entitymanager.h.
|
inline |
Definition at line 158 of file entitymanager.h.
|
protected |
|
inline |
Definition at line 171 of file entitymanager.h.
|
inline |
Definition at line 154 of file entitymanager.h.
bool EntityManager::Initialize | ( | iObjectRegistry * | object_reg, |
ClientConnectionSet * | clients, | ||
UserManager * | usermanager, | ||
GEMSupervisor * | gemsupervisor, | ||
psServerDR * | psserverdr, | ||
CacheManager * | cachemanager | ||
) |
|
inline |
Definition at line 150 of file entitymanager.h.
|
protected |
|
protected |
bool EntityManager::LoadMap | ( | const char * | mapname | ) |
gemItem* EntityManager::MoveItemToWorld | ( | psItem * | keyItem, |
InstanceID | instance, | ||
psSectorInfo * | sectorinfo, | ||
float | loc_x, | ||
float | loc_y, | ||
float | loc_z, | ||
float | loc_xrot, | ||
float | loc_yrot, | ||
float | loc_zrot, | ||
psCharacter * | owner, | ||
bool | transient | ||
) |
bool EntityManager::RemoveActor | ( | gemObject * | actor | ) |
void EntityManager::RemoveRideRelation | ( | gemActor * | rider | ) |
|
protected |
void EntityManager::SetReady | ( | bool | flag | ) |
|
protected |
Definition at line 177 of file entitymanager.h.
|
protected |
Definition at line 196 of file entitymanager.h.
|
protected |
Definition at line 193 of file entitymanager.h.
|
protected |
Definition at line 194 of file entitymanager.h.
|
protected |
Definition at line 198 of file entitymanager.h.
|
protected |
Definition at line 178 of file entitymanager.h.
|
protected |
Definition at line 199 of file entitymanager.h.
|
protected |
Definition at line 197 of file entitymanager.h.
|
protected |
Definition at line 191 of file entitymanager.h.
|
protected |
Definition at line 201 of file entitymanager.h.
|
protected |
Definition at line 190 of file entitymanager.h.
|
protected |
Definition at line 192 of file entitymanager.h.
|
protected |
Definition at line 195 of file entitymanager.h.