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) | |
![]() | |
getParentObj (self) | |
handleChildArrive (self, childObj, zoneId) | |
handleChildArriveZone (self, childObj, zoneId) | |
handleChildLeave (self, childObj, zoneId) | |
handleChildLeaveZone (self, childObj, zoneId) | |
handleQueryObjectChildrenLocalDone (self, context) | |
hasParentingRules (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 | |
accountName | |
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 | |
DistributedObjectAI_initialized | |
doId | |
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? | |
lastNonQuietZone | |
parentId | |
zoneId | |
![]() | |
cr | |
doId | |
parentId | |
zoneId | |
Static Public Attributes | |
notify = directNotify.newCategory("DistributedObjectAI") | |
int | QuietZone = 1 |
![]() | |
notify = directNotify.newCategory("DistributedObjectBase") | |
![]() | |
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) | |
![]() | |
_addTask (self, task) | |
_clearTask (self, task) | |
Protected Attributes | |
_DOAI_requestedDelete | |
_zoneData | |
![]() | |
_taskList | |
__init__ | ( | self, | |
air ) |
Reimplemented from DistributedObjectBase.
Reimplemented in DistributedCameraAI, DistributedObjectGlobalAI, TimeManagerAI, DistributedNodeAI, DistributedSmoothNodeAI, and DistributedCartesianGridAI.
|
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 |
accountName |
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 |
DistributedObjectAI_initialized |
doId |
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?
lastNonQuietZone |
|
static |
parentId |
|
static |
zoneId |