|
Panda3D
|
Public Member Functions | |
| __init__ (self, air) | |
| announceGenerate (self) | |
| b_setLocation (self, parentId, zoneId) | |
| beginBarrier (self, name, avIds, timeout, callback) | |
| d_setLocation (self, parentId, zoneId) | |
| delete (self) | |
| deleteOrDelay (self) | |
| execCommand (self, string, mwMgrId, avId, zoneId) | |
| generate (self) | |
| generateInit (self, repository=None) | |
| generateOtpObject (self, parentId, zoneId, optionalFields=[], doId=None) | |
| generateTargetChannel (self, repository) | |
| generateWithRequired (self, zoneId, optionalFields=[]) | |
| generateWithRequiredAndId (self, doId, parentId, zoneId, optionalFields=[]) | |
| GetAccountConnectionChannel (self, doId) | |
| GetAccountIDFromChannelCode (self, channel) | |
| GetAvatarIDFromChannelCode (self, channel) | |
| getBarrierData (self) | |
| getCacheable (self) | |
| getCollTrav (self, *args, **kArgs) | |
| getDelayDeleteCount (self) | |
| getDeleteEvent (self) | |
| getDoId (self) | |
| getLocation (self) | |
| getLogicalZoneChangeEvent (self) | |
| getNonCollidableParent (self) | |
| getParentMgr (self) | |
| GetPuppetConnectionChannel (self, doId) | |
| getRender (self) | |
| getZoneChangeEvent (self) | |
| getZoneData (self) | |
| handleLogicalZoneChange (self, newZoneId, oldZoneId) | |
| ignoreBarrier (self, context) | |
| initFromServerResponse (self, valDict) | |
| isDeleted (self) | |
| isGenerated (self) | |
| isGridParent (self) | |
| postGenerateMessage (self) | |
| preAllocateDoId (self) | |
| releaseZoneData (self) | |
| requestDelete (self) | |
| sendDeleteEvent (self) | |
| sendGenerateWithRequired (self, repository, parentId, zoneId, optionalFields=[]) | |
| sendMessageBundle (self) | |
| sendUpdate (self, fieldName, args=[]) | |
| sendUpdateToAccountId (self, accountId, fieldName, args) | |
| sendUpdateToAvatarId (self, avId, fieldName, args) | |
| sendUpdateToChannel (self, channelId, fieldName, args) | |
| setAI (self, aiChannel) | |
| setBarrierReady (self, context) | |
| setLocation (self, parentId, zoneId) | |
| startMessageBundle (self, name) | |
| status (self, indent=0) | |
| taskName (self, taskString) | |
| uniqueName (self, idString) | |
| updateAllRequiredFields (self, dclass, di) | |
| updateAllRequiredOtherFields (self, dclass, di) | |
| updateRequiredFields (self, dclass, di) | |
| updateRequiredOtherFields (self, dclass, di) | |
| validate (self, avId, bool, msg) | |
Public Member Functions inherited from DistributedObjectBase | |
| __init__ (self, cr) | |
| getParentObj (self) | |
| handleChildArrive (self, childObj, zoneId) | |
| handleChildArriveZone (self, childObj, zoneId) | |
| handleChildLeave (self, childObj, zoneId) | |
| handleChildLeaveZone (self, childObj, zoneId) | |
| handleQueryObjectChildrenLocalDone (self, context) | |
| hasParentingRules (self) | |
Public Member Functions inherited from DirectObject | |
| __init__ (self) | |
| accept (self, event, method, extraArgs=[]) | |
| acceptOnce (self, event, method, extraArgs=[]) | |
| addTask (self, *args, **kwargs) | |
| detectLeaks (self) | |
| doMethodLater (self, *args, **kwargs) | |
| getAllAccepting (self) | |
| ignore (self, event) | |
| ignoreAll (self) | |
| isAccepting (self, event) | |
| isIgnoring (self, event) | |
| removeAllTasks (self) | |
| removeTask (self, taskOrName) | |
Static Public Member Functions | |
| staticGetLogicalZoneChangeEvent (doId) | |
| staticGetZoneChangeEvent (doId) | |
Public Attributes | |
| str | accountName = '' |
| air = air | |
| Asad: As per Roger's suggestion, turn off the following block until a solution is thought out of how to prevent this delete message or to handle this message better TODO: do we still need this check? | |
| dclass = self.air.dclassesByName[className] | |
| int | DistributedObjectAI_initialized = 1 |
| lastNonQuietZone = None | |
Public Attributes inherited from DistributedObjectBase | |
| cr = cr | |
| doId | |
| int | parentId = None |
| zoneId = None | |
Static Public Attributes | |
| int | QuietZone = 1 |
Static Public Attributes inherited from DistributedObjectBase | |
| notify = directNotify.newCategory("DistributedObjectBase") | |
Static Public Attributes inherited from DirectObject | |
| accept_once = acceptOnce | |
| add_task = addTask | |
| detect_leaks = detectLeaks | |
| do_method_later = doMethodLater | |
| get_all_accepting = getAllAccepting | |
| ignore_all = ignoreAll | |
| is_accepting = isAccepting | |
| is_ignoring = isIgnoring | |
| remove_all_tasks = removeAllTasks | |
| remove_task = removeTask | |
Protected Member Functions | |
| _retrieveCachedData (self) | |
Protected Member Functions inherited from DirectObject | |
| _addTask (self, task) | |
| _clearTask (self, task) | |
Protected Attributes | |
| bool | _DOAI_requestedDelete = False |
| _zoneData = None | |
Protected Attributes inherited from DirectObject | |
| dict | _taskList = {} |
| __init__ | ( | self, | |
| air ) |
|
protected |
This is a no-op on the AI.
| announceGenerate | ( | self | ) |
Called after the object has been generated and all of its required fields filled in. Overwrite when needed.
Reimplemented in DistributedObjectGlobalAI.
| b_setLocation | ( | self, | |
| parentId, | |||
| zoneId ) |
| beginBarrier | ( | self, | |
| name, | |||
| avIds, | |||
| timeout, | |||
| callback ) |
| d_setLocation | ( | self, | |
| parentId, | |||
| zoneId ) |
| delete | ( | self | ) |
Inheritors should redefine this to take appropriate action on delete Note that this may be called multiple times if a class inherits from DistributedObjectAI more than once.
Reimplemented from DistributedObjectBase.
Reimplemented in DistributedCartesianGridAI, DistributedNodeAI, DistributedObjectGlobalAI, and DistributedSmoothNodeAI.
| deleteOrDelay | ( | self | ) |
This method exists only to mirror the similar method on DistributedObject. AI objects don't have delayDelete, they just get deleted immediately.
| execCommand | ( | self, | |
| string, | |||
| mwMgrId, | |||
| avId, | |||
| zoneId ) |
| generate | ( | self | ) |
Inheritors should put functions that require self.zoneId or other networked info in this function.
Reimplemented in DistributedSmoothNodeAI.
| generateInit | ( | self, | |
| repository = None ) |
First generate (not from cache).
| generateOtpObject | ( | self, | |
| parentId, | |||
| zoneId, | |||
| optionalFields = [], | |||
| doId = None ) |
| generateTargetChannel | ( | self, | |
| repository ) |
Who to send this to for generate messages
| generateWithRequired | ( | self, | |
| zoneId, | |||
| optionalFields = [] ) |
| generateWithRequiredAndId | ( | self, | |
| doId, | |||
| parentId, | |||
| zoneId, | |||
| optionalFields = [] ) |
| GetAccountConnectionChannel | ( | self, | |
| doId ) |
| GetAccountIDFromChannelCode | ( | self, | |
| channel ) |
| GetAvatarIDFromChannelCode | ( | self, | |
| channel ) |
| getBarrierData | ( | self | ) |
| getCacheable | ( | self | ) |
This method exists only to mirror the similar method on DistributedObject. AI objects aren't cacheable.
| getCollTrav | ( | self, | |
| * | args, | ||
| ** | kArgs ) |
| getDelayDeleteCount | ( | self | ) |
| getDeleteEvent | ( | self | ) |
| getDoId | ( | self | ) |
Return the distributed object id
| getLocation | ( | self | ) |
Reimplemented from DistributedObjectBase.
| getLogicalZoneChangeEvent | ( | self | ) |
| getNonCollidableParent | ( | self | ) |
| getParentMgr | ( | self | ) |
| GetPuppetConnectionChannel | ( | self, | |
| doId ) |
| getRender | ( | self | ) |
| getZoneChangeEvent | ( | self | ) |
| getZoneData | ( | self | ) |
| handleLogicalZoneChange | ( | self, | |
| newZoneId, | |||
| oldZoneId ) |
this function gets called as if we never go through the quiet zone. Note that it is called once you reach the newZone, and not at the time that you leave the oldZone.
| ignoreBarrier | ( | self, | |
| context ) |
| initFromServerResponse | ( | self, | |
| valDict ) |
| isDeleted | ( | self | ) |
Returns true if the object has been deleted, or if it is brand new and hasnt yet been generated.
| isGenerated | ( | self | ) |
Returns true if the object has been generated
| isGridParent | ( | self | ) |
Reimplemented in DistributedCartesianGridAI.
| postGenerateMessage | ( | self | ) |
| preAllocateDoId | ( | self | ) |
objects that need to have a doId before they are generated can call this to pre-allocate a doId for the object
| releaseZoneData | ( | self | ) |
| requestDelete | ( | self | ) |
| sendDeleteEvent | ( | self | ) |
| sendGenerateWithRequired | ( | self, | |
| repository, | |||
| parentId, | |||
| zoneId, | |||
| optionalFields = [] ) |
| sendMessageBundle | ( | self | ) |
| sendUpdate | ( | self, | |
| fieldName, | |||
| args = [] ) |
| sendUpdateToAccountId | ( | self, | |
| accountId, | |||
| fieldName, | |||
| args ) |
| sendUpdateToAvatarId | ( | self, | |
| avId, | |||
| fieldName, | |||
| args ) |
| sendUpdateToChannel | ( | self, | |
| channelId, | |||
| fieldName, | |||
| args ) |
| setAI | ( | self, | |
| aiChannel ) |
| setBarrierReady | ( | self, | |
| context ) |
| setLocation | ( | self, | |
| parentId, | |||
| zoneId ) |
Reimplemented in DistributedNodeAI.
| startMessageBundle | ( | self, | |
| name ) |
|
static |
|
static |
| status | ( | self, | |
| indent = 0 ) |
print out doId(parentId, zoneId) className
and conditionally show generated or deleted
Reimplemented from DistributedObjectBase.
| taskName | ( | self, | |
| taskString ) |
| uniqueName | ( | self, | |
| idString ) |
| updateAllRequiredFields | ( | self, | |
| dclass, | |||
| di ) |
| updateAllRequiredOtherFields | ( | self, | |
| dclass, | |||
| di ) |
| updateRequiredFields | ( | self, | |
| dclass, | |||
| di ) |
| updateRequiredOtherFields | ( | self, | |
| dclass, | |||
| di ) |
| validate | ( | self, | |
| avId, | |||
| bool, | |||
| msg ) |
|
protected |
|
protected |
| str accountName = '' |
| air = air |
Asad: As per Roger's suggestion, turn off the following block until a solution is thought out of how to prevent this delete message or to handle this message better TODO: do we still need this check?
| dclass = self.air.dclassesByName[className] |
| int DistributedObjectAI_initialized = 1 |
| lastNonQuietZone = None |
|
static |