|
| __init__ (self) |
|
| addDOToTables (self, do, location=None, ownerView=False) |
|
| callbackWithDo (self, doId, callback) |
|
| callbackWithOwnerView (self, doId, callback) |
|
| countObjects (self, classType) |
|
| deleteDistributedObjects (self) |
|
| deleteObjectLocation (self, object, parentId, zoneId) |
|
| doByDistance (self) |
|
| doFind (self, str) |
|
| doFindAll (self, str) |
|
| doFindAllInstances (self, cls) |
|
| doFindAllMatching (self, str) |
|
| doFindAllOfType (self, query) |
|
| dosByDistance (self) |
|
| findAnyOfType (self, type) |
|
| getAllOfType (self, type) |
|
| getDo (self, doId) |
|
| getDoIdList (self, parentId, zoneId=None, classType=None) |
|
| getDoList (self, parentId, zoneId=None, classType=None) |
|
| getDoTable (self, ownerView) |
|
| getGameDoId (self) |
|
| getObjectsInZone (self, parentId, zoneId) |
| def changeDOZoneInTables(self, do, newParentId, newZoneId, oldParentId, oldZoneId): if 1: self.storeObjectLocation(do.doId, newParentId, newZoneId) else: #assert not hasattr(do, "isQueryAllResponse") or not do.isQueryAllResponse oldLocation = (oldParentId, oldZoneId) newLocation = (newParentId, newZoneId)
|
|
| getObjectsOfClassInZone (self, parentId, zoneId, objClass) |
|
| getOwnerView (self, doId) |
|
| getOwnerViewDoIdList (self, classType) |
|
| getOwnerViewDoList (self, classType) |
|
| handleObjectLocation (self, di) |
|
| handleSetLocation (self, di) |
|
| hasOwnerViewDoId (self, doId) |
|
| isInDoTables (self, doId) |
|
| isValidLocationTuple (self, location) |
|
| printObjectCount (self) |
|
| printObjects (self) |
|
| removeDOFromTables (self, do) |
|
| storeObjectLocation (self, object, parentId, zoneId) |
|
| webPrintObjectCount (self) |
|
getDoList |
( |
| self, |
|
|
| parentId, |
|
|
| zoneId = None, |
|
|
| classType = None ) |
Args:
parentId: any distributed object id.
zoneId: a uint32, defaults to None (all zones). Try zone 2 if
you're not sure which zone to use (0 is a bad/null zone and
1 has had reserved use in the past as a no messages zone, while
2 has traditionally been a global, uber, misc stuff zone).
dclassType: a distributed class type filter, defaults to None
(no filter).
If dclassName is None then all objects in the zone are returned;
otherwise the list is filtered to only include objects of that type.
getObjectsInZone |
( |
| self, |
|
|
| parentId, |
|
|
| zoneId ) |
def changeDOZoneInTables(self, do, newParentId, newZoneId, oldParentId, oldZoneId): if 1: self.storeObjectLocation(do.doId, newParentId, newZoneId) else: #assert not hasattr(do, "isQueryAllResponse") or not do.isQueryAllResponse oldLocation = (oldParentId, oldZoneId) newLocation = (newParentId, newZoneId)
HACK: DistributedGuildMemberUD starts in -1, -1, which isnt ever put in the
zoneId2doIds table
if self.isValidLocationTuple(oldLocation): assert self.notify.debugStateCall(self) assert oldLocation in self.zoneId2doIds assert do.doId in self.zoneId2doIds[oldLocation] assert do.doId not in self.zoneId2doIds.get(newLocation, {})
remove from old zone
del(self.zoneId2doIds[oldLocation][do.doId]) if len(self.zoneId2doIds[oldLocation]) == 0: del self.zoneId2doIds[oldLocation] if self.isValidLocationTuple(newLocation):
add to new zone
self.zoneId2doIds.setdefault(newLocation, {}) self.zoneId2doIds[newLocation][do.doId]=do
returns dict of doId:distObj for a zone.
returned dict is safely mutable.