|
| | __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.