Panda3D
|
Public Member Functions | |
def | __init__ |
def | addDOToTables |
def | callbackWithDo |
def | callbackWithOwnerView |
def | countObjects |
def | deleteDistributedObjects |
def | deleteObjectLocation |
def | doByDistance |
def | doFind |
def | doFindAll |
def | doFindAllInstances |
def | doFindAllMatching |
def | doFindAllOfType |
def | dosByDistance |
def | findAnyOfType |
def | getAllOfType |
def | getDo |
def | getDoIdList |
def | getDoList |
def | getDoTable |
def | getGameDoId |
def | getObjectsInZone |
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 | |
def | getObjectsOfClassInZone |
def | getOwnerView |
def | getOwnerViewDoIdList |
def | getOwnerViewDoList |
def | handleObjectLocation |
def | handleSetLocation |
def | hasOwnerViewDoId |
def | isInDoTables |
def | isValidLocationTuple |
def | printObjectCount |
def | printObjects |
def | removeDOFromTables |
def | storeObjectLocation |
def | webPrintObjectCount |
Public Attributes | |
doId2do | |
doId2ownerView | |
self.zoneId2doIds={} |
def __init__ | ( | self | ) |
def addDOToTables | ( | self, | |
do, | |||
location = None , |
|||
ownerView = False |
|||
) |
def callbackWithDo | ( | self, | |
doId, | |||
callback | |||
) |
def callbackWithOwnerView | ( | self, | |
doId, | |||
callback | |||
) |
def countObjects | ( | self, | |
classType | |||
) |
Counts the number of objects of the given type in the repository (for testing purposes)
def deleteDistributedObjects | ( | self | ) |
def deleteObjectLocation | ( | self, | |
object, | |||
parentId, | |||
zoneId | |||
) |
def doByDistance | ( | self | ) |
def doFind | ( | self, | |
str | |||
) |
Returns list of distributed objects with matching str in value.
def doFindAll | ( | self, | |
str | |||
) |
Returns list of distributed objects with matching str in value.
def doFindAllInstances | ( | self, | |
cls | |||
) |
def doFindAllMatching | ( | self, | |
str | |||
) |
Returns list of distributed objects with matching str in value.
def doFindAllOfType | ( | self, | |
query | |||
) |
Useful method for searching through the Distributed Object collection for objects of a particular type
def dosByDistance | ( | self | ) |
def findAnyOfType | ( | self, | |
type | |||
) |
def getAllOfType | ( | self, | |
type | |||
) |
def getDo | ( | self, | |
doId | |||
) |
def getDoIdList | ( | self, | |
parentId, | |||
zoneId = None , |
|||
classType = None |
|||
) |
def getDoList | ( | self, | |
parentId, | |||
zoneId = None , |
|||
classType = None |
|||
) |
parentId is any distributed object id. zoneId is 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 is 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.
def getDoTable | ( | self, | |
ownerView | |||
) |
def getGameDoId | ( | self | ) |
def 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.
def getObjectsOfClassInZone | ( | self, | |
parentId, | |||
zoneId, | |||
objClass | |||
) |
returns dict of doId:object for a zone, containing all objects that inherit from 'class'. returned dict is safely mutable.
def getOwnerView | ( | self, | |
doId | |||
) |
def getOwnerViewDoIdList | ( | self, | |
classType | |||
) |
def getOwnerViewDoList | ( | self, | |
classType | |||
) |
def handleObjectLocation | ( | self, | |
di | |||
) |
def handleSetLocation | ( | self, | |
di | |||
) |
def hasOwnerViewDoId | ( | self, | |
doId | |||
) |
def isInDoTables | ( | self, | |
doId | |||
) |
def isValidLocationTuple | ( | self, | |
location | |||
) |
def printObjectCount | ( | self | ) |
def printObjects | ( | self | ) |
def removeDOFromTables | ( | self, | |
do | |||
) |
def storeObjectLocation | ( | self, | |
object, | |||
parentId, | |||
zoneId | |||
) |
def webPrintObjectCount | ( | self | ) |
self.zoneId2doIds={}