Panda3D
Public Member Functions | Public Attributes | Static Public Attributes

DistributedObjectAI Class Reference

Inheritance diagram for DistributedObjectAI:
DistributedNodeAI TimeManagerAI DistributedSmoothNodeAI

List of all members.

Public Member Functions

def __init__
def addInterest
def announceGenerate
def b_setLocation
def beginBarrier
def d_setLocation
def delete
def deleteOrDelay
def execCommand
def generate
def generateInit
def generateOtpObject
def generateTargetChannel
def generateWithRequired
def generateWithRequiredAndId
def GetAccountConnectionChannel
def GetAccountIDFromChannelCode
def GetAvatarIDFromChannelCode
def getBarrierData
def getCacheable
def getCollTrav
def getDelayDeleteCount
def getDeleteEvent
def getDoId
def getLocation
def getLogicalZoneChangeEvent
def getNonCollidableParent
def getParentMgr
def GetPuppetConnectionChannel
def getRender
def getZoneChangeEvent
def getZoneData
def handleLogicalZoneChange
def ignoreBarrier
def initFromServerResponse
def isDeleted
def isGenerated
def isGridParent
def postGenerateMessage
def preAllocateDoId
def releaseZoneData
def requestDelete
def sendDeleteEvent
def sendGenerateWithRequired
def sendMessageBundle
def sendSetZone
def sendUpdate
def sendUpdateToAccountId
def sendUpdateToAvatarId
def sendUpdateToChannel
def setBarrierReady
def setLocation
def startMessageBundle
def staticGetLogicalZoneChangeEvent
def staticGetZoneChangeEvent
def status
def taskName
def uniqueName
def updateAllRequiredFields
def updateAllRequiredOtherFields
def updateRequiredFields
def updateRequiredOtherFields
def validate

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
 lastNonQuietZone
 parentId
 zoneId

Static Public Attributes

tuple notify = directNotify.newCategory("DistributedObjectAI")
int QuietZone = 1

Constructor & Destructor Documentation

def __init__ (   self,
  air 
)

Reimplemented in TimeManagerAI.


Member Function Documentation

def addInterest (   self,
  zoneId,
  note = "",
  event = None 
)
def announceGenerate (   self)
Called after the object has been generated and all
of its required fields filled in. Overwrite when needed.
def b_setLocation (   self,
  parentId,
  zoneId 
)
def beginBarrier (   self,
  name,
  avIds,
  timeout,
  callback 
)
def d_setLocation (   self,
  parentId,
  zoneId 
)
def 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 in DistributedNodeAI, and DistributedSmoothNodeAI.

def deleteOrDelay (   self)
This method exists only to mirror the similar method on
DistributedObject.  AI objects don't have delayDelete, they
just get deleted immediately. 
def execCommand (   self,
  string,
  mwMgrId,
  avId,
  zoneId 
)
def generate (   self)
Inheritors should put functions that require self.zoneId or
other networked info in this function.

Reimplemented in DistributedSmoothNodeAI.

def generateInit (   self,
  repository = None 
)
First generate (not from cache).
def generateOtpObject (   self,
  parentId,
  zoneId,
  optionalFields = [],
  doId = None 
)
def generateTargetChannel (   self,
  repository 
)
Who to send this to for generate messages
def generateWithRequired (   self,
  zoneId,
  optionalFields = [] 
)
def generateWithRequiredAndId (   self,
  doId,
  parentId,
  zoneId,
  optionalFields = [] 
)
def GetAccountConnectionChannel (   self,
  doId 
)
def GetAccountIDFromChannelCode (   self,
  channel 
)
def GetAvatarIDFromChannelCode (   self,
  channel 
)
def getBarrierData (   self)
def getCacheable (   self)
This method exists only to mirror the similar method on
DistributedObject.  AI objects aren't cacheable. 
def getCollTrav (   self,
  args,
  kArgs 
)
def getDelayDeleteCount (   self)
def getDeleteEvent (   self)
def getDoId (   self)
Return the distributed object id
def getLocation (   self)
def getLogicalZoneChangeEvent (   self)
def getNonCollidableParent (   self)
def getParentMgr (   self)
def GetPuppetConnectionChannel (   self,
  doId 
)
def getRender (   self)
def getZoneChangeEvent (   self)
def getZoneData (   self)
def 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.
def ignoreBarrier (   self,
  context 
)
def initFromServerResponse (   self,
  valDict 
)
def isDeleted (   self)
Returns true if the object has been deleted,
or if it is brand new and hasnt yet been generated.
def isGenerated (   self)
Returns true if the object has been generated
def isGridParent (   self)
def postGenerateMessage (   self)
def preAllocateDoId (   self)
objects that need to have a doId before they are generated
can call this to pre-allocate a doId for the object
def releaseZoneData (   self)
def requestDelete (   self)
def sendDeleteEvent (   self)
def sendGenerateWithRequired (   self,
  repository,
  parentId,
  zoneId,
  optionalFields = [] 
)
def sendMessageBundle (   self)
def sendSetZone (   self,
  zoneId 
)
def sendUpdate (   self,
  fieldName,
  args = [] 
)
def sendUpdateToAccountId (   self,
  accountId,
  fieldName,
  args 
)
def sendUpdateToAvatarId (   self,
  avId,
  fieldName,
  args 
)
def sendUpdateToChannel (   self,
  channelId,
  fieldName,
  args 
)
def setBarrierReady (   self,
  context 
)
def setLocation (   self,
  parentId,
  zoneId 
)
def startMessageBundle (   self,
  name 
)
def staticGetLogicalZoneChangeEvent (   doId)
def staticGetZoneChangeEvent (   doId)
def status (   self,
  indent = 0 
)
print out doId(parentId, zoneId) className
    and conditionally show generated, disabled, neverDisable,
    or cachable
def taskName (   self,
  taskString 
)
def uniqueName (   self,
  idString 
)
def updateAllRequiredFields (   self,
  dclass,
  di 
)
def updateAllRequiredOtherFields (   self,
  dclass,
  di 
)
def updateRequiredFields (   self,
  dclass,
  di 
)
def updateRequiredOtherFields (   self,
  dclass,
  di 
)
def validate (   self,
  avId,
  bool,
  msg 
)

Member Data Documentation

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?

tuple notify = directNotify.newCategory("DistributedObjectAI") [static]

Reimplemented in TimeManagerAI.

int QuietZone = 1 [static]
 All Classes Namespaces Functions Variables Properties