Panda3D
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
DistributedObjectAI Class Reference
Inheritance diagram for DistributedObjectAI:
DistributedObjectBase DirectObject DistributedCameraAI DistributedNodeAI TimeManagerAI DistributedSmoothNodeAI

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 status
 
def taskName
 
def uniqueName
 
def updateAllRequiredFields
 
def updateAllRequiredOtherFields
 
def updateRequiredFields
 
def updateRequiredOtherFields
 
def validate
 
- Public Member Functions inherited from DistributedObjectBase
def __init__
 
def getLocation
 
def getParentObj
 
def handleChildArrive
 
def handleChildArriveZone
 
def handleChildLeave
 
def handleChildLeaveZone
 
def handleQueryObjectChildrenLocalDone
 
def hasParentingRules
 
def status
 
- Public Member Functions inherited from DirectObject
def __init__
 
def accept
 
def acceptOnce
 
def addTask
 
def detectLeaks
 
def doMethodLater
 
def getAllAccepting
 
def ignore
 
def ignoreAll
 
def isAccepting
 
def isIgnoring
 
def removeAllTasks
 
def removeTask
 

Static Public Member Functions

def staticGetLogicalZoneChangeEvent
 
def staticGetZoneChangeEvent
 

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? More...
 
 dclass
 
 DistributedObjectAI_initialized
 
 doId
 
 lastNonQuietZone
 
 parentId
 
 zoneId
 
- Public Attributes inherited from DistributedObjectBase
 children
 
 cr
 
 parentId
 
 zoneId
 

Static Public Attributes

tuple notify = directNotify.newCategory("DistributedObjectAI")
 
int QuietZone = 1
 
- Static Public Attributes inherited from DistributedObjectBase
tuple notify = directNotify.newCategory("DistributedObjectBase")
 

Constructor & Destructor Documentation

def __init__ (   self,
  air 
)

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.
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.
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)
static
def staticGetZoneChangeEvent (   doId)
static
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

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
tuple notify = directNotify.newCategory("DistributedObjectAI")
static
parentId
int QuietZone = 1
static
zoneId