def initializeEntity(self, level, entId): stateVars = {} for attribName in self._attribNames: stateVars[attribName] = getattr(self, attribName) Entity.initializeEntity(self, level, entId) for attribName in self._attribNames: stateVars[attribName].set(getattr(self, attribName)) for attribName in self._attribNames: setattr(self, attribName, stateVars[attribName])
def initializeEntity(self, level, entId): # Entity.initializeEntity hammers attributes directly into self.__dict__ # set the StateVars aside and restore them afterward stateVars = {} for attribName in self._attribNames: stateVars[attribName] = getattr(self, attribName) Entity.initializeEntity(self, level, entId) # update the values for attribName in self._attribNames: stateVars[attribName].set(getattr(self, attribName)) # restore the StateVars for attribName in self._attribNames: setattr(self, attribName, stateVars[attribName])
def __init__(self, level, entId): Entity.__init__(self, level, entId) self.initProps()
def destroy(self): self.destroyProps() Entity.destroy(self)