Panda3D
Public Member Functions | Public Attributes | Static Public Attributes

DistributedNodeAI Class Reference

Inheritance diagram for DistributedNodeAI:
DistributedObjectAI DistributedSmoothNodeAI

List of all members.

Public Member Functions

def __init__
def addInterest
def announceGenerate
def b_setLocation
def b_setParent
 setParent ###
def b_setPosHpr
def b_setXYZH
def beginBarrier
def d_setH
def d_setHpr
def d_setLocation
def d_setP
def d_setParent
def d_setPos
def d_setPosHpr
def d_setR
def d_setX
 set pos and hpr functions #######
def d_setXY
def d_setXYH
def d_setXYZH
def d_setY
def d_setZ
def delete
def deleteOrDelay
def do_setParent
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 getXYZH
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 setLocation
def setParent
def setParentStr
def setXY
def setXYH
def setXYZH
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
 DistributedNodeAI_initialized
 DistributedObjectAI_initialized
 doId
 gridParent
 lastNonQuietZone
 parentId
 zoneId

Static Public Attributes

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

Constructor & Destructor Documentation

def __init__ (   self,
  air,
  name = None 
)

Reimplemented in DistributedSmoothNodeAI.


Member Function Documentation

def addInterest (   self,
  zoneId,
  note = "",
  event = None 
) [inherited]
def announceGenerate (   self) [inherited]
Called after the object has been generated and all
of its required fields filled in. Overwrite when needed.
def b_setLocation (   self,
  parentId,
  zoneId 
) [inherited]
def b_setParent (   self,
  parentToken 
)

setParent ###

def b_setPosHpr (   self,
  x,
  y,
  z,
  h,
  p,
  r 
)
def b_setXYZH (   self,
  x,
  y,
  z,
  h 
)
def beginBarrier (   self,
  name,
  avIds,
  timeout,
  callback 
) [inherited]
def d_setH (   self,
  h 
)
def d_setHpr (   self,
  h,
  p,
  r 
)
def d_setLocation (   self,
  parentId,
  zoneId 
) [inherited]
def d_setP (   self,
  p 
)
def d_setParent (   self,
  parentToken 
)
def d_setPos (   self,
  x,
  y,
  z 
)
def d_setPosHpr (   self,
  x,
  y,
  z,
  h,
  p,
  r 
)
def d_setR (   self,
  r 
)
def d_setX (   self,
  x 
)

set pos and hpr functions #######

def d_setXY (   self,
  x,
  y 
)
def d_setXYH (   self,
  x,
  y,
  h 
)
def d_setXYZH (   self,
  x,
  y,
  z,
  h 
)
def d_setY (   self,
  y 
)
def d_setZ (   self,
  z 
)
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 from DistributedObjectAI.

Reimplemented in DistributedSmoothNodeAI.

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

Reimplemented in DistributedSmoothNodeAI.

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

Member Data Documentation

accountName [inherited]
air [inherited]

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 [inherited]
doId [inherited]
lastNonQuietZone [inherited]
tuple notify = directNotify.newCategory("DistributedObjectAI") [static, inherited]

Reimplemented in TimeManagerAI.

parentId [inherited]
int QuietZone = 1 [static, inherited]
zoneId [inherited]
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties