diff --git a/direct/src/actor/Actor.py b/direct/src/actor/Actor.py index f89a5830fa..83bcc13c1f 100644 --- a/direct/src/actor/Actor.py +++ b/direct/src/actor/Actor.py @@ -68,60 +68,64 @@ class Actor(PandaObject, NodePath): """ - # initial our NodePath essence - NodePath.__init__(self) - - # create data structures - self.__partBundleDict = {} - self.__animControlDict = {} - - if (other == None): - # act like a normal contructor - - # create base hierarchy - self.assign(hidden.attachNewNode('actor')) - self.setGeomNode(self.attachNewNode('actorGeom')) - - # load models - # make sure we have models - if (models): - # if this is a dictionary - if (type(models)==type({})): - # then it must be multipart actor - for partName in models.keys(): - self.loadModel(models[partName], partName) - else: - # else it is a single part actor - self.loadModel(models) - - # load anims - # make sure the actor has animations - if (anims): - if (len(anims) >= 1): - # if so, does it have a dictionary of dictionaries - if (type(anims[anims.keys()[0]])==type({})): - # then it must be multipart - for partName in anims.keys(): - self.loadAnims(anims[partName], partName) + try: + self.Actor_initialized + except: + self.Actor_initialized = 1 + # initial our NodePath essence + NodePath.__init__(self) + + # create data structures + self.__partBundleDict = {} + self.__animControlDict = {} + + if (other == None): + # act like a normal contructor + + # create base hierarchy + self.assign(hidden.attachNewNode('actor')) + self.setGeomNode(self.attachNewNode('actorGeom')) + + # load models + # make sure we have models + if (models): + # if this is a dictionary + if (type(models)==type({})): + # then it must be multipart actor + for partName in models.keys(): + self.loadModel(models[partName], partName) else: - # else it is not multipart - self.loadAnims(anims) + # else it is a single part actor + self.loadModel(models) - else: - # act like a copy constructor + # load anims + # make sure the actor has animations + if (anims): + if (len(anims) >= 1): + # if so, does it have a dictionary of dictionaries + if (type(anims[anims.keys()[0]])==type({})): + # then it must be multipart + for partName in anims.keys(): + self.loadAnims(anims[partName], partName) + else: + # else it is not multipart + self.loadAnims(anims) - # copy the scene graph elements of other - otherCopy = other.copyTo(hidden) - # assign these elements to ourselve - self.assign(otherCopy) - self.setGeomNode(otherCopy.getChild(0)) - - # copy the part dictionary from other - self.__copyPartBundles(other) - - # copy the anim dictionary from other - self.__copyAnimControls(other) - + else: + # act like a copy constructor + + # copy the scene graph elements of other + otherCopy = other.copyTo(hidden) + # assign these elements to ourselve + self.assign(otherCopy) + self.setGeomNode(otherCopy.getChild(0)) + + # copy the part dictionary from other + self.__copyPartBundles(other) + + # copy the anim dictionary from other + self.__copyAnimControls(other) + return None def __str__(self): """__str__(self) diff --git a/direct/src/distributed/DistributedActor.py b/direct/src/distributed/DistributedActor.py index 968106b92d..d37e545b92 100644 --- a/direct/src/distributed/DistributedActor.py +++ b/direct/src/distributed/DistributedActor.py @@ -7,8 +7,10 @@ class DistributedActor(DistributedNode.DistributedNode, Actor.Actor): """Distributed Actor class:""" def __init__(self): - pass + try: + self.DistributedActor_initialized + except: + self.DistributedActor_initialized = 1 + return None - def generateInit(self, di): - DistributedNode.DistributedNode.generateInit(self, di) diff --git a/direct/src/distributed/DistributedNode.py b/direct/src/distributed/DistributedNode.py index 6d657712bc..5cc96ee383 100644 --- a/direct/src/distributed/DistributedNode.py +++ b/direct/src/distributed/DistributedNode.py @@ -7,7 +7,11 @@ class DistributedNode(DistributedObject.DistributedObject, NodePath.NodePath): """Distributed Node class:""" def __init__(self): - pass + try: + self.DistributedNode_initialized + except: + self.DistributedNode_initialized = 1 + return None def generateInit(self, di): DistributedObject.DistributedObject.generateInit(self, di) diff --git a/direct/src/distributed/DistributedObject.py b/direct/src/distributed/DistributedObject.py index 49f7f32334..c850e4b384 100644 --- a/direct/src/distributed/DistributedObject.py +++ b/direct/src/distributed/DistributedObject.py @@ -5,13 +5,17 @@ from PandaObject import * class DistributedObject(PandaObject): """Distributed Object class:""" def __init__(self): - pass + try: + self.DistributedObject_initialized + except: + self.DistributedObject_initialized = 1 + return None def getDoId(self): """getDoId(self) Return the distributed object id """ - return self.__doId + return self.doId def updateRequiredFields(self, cdc, di): for i in cdc.allRequiredCDU: