def __setstate__(self, dd): # Update the object's dd self.__dict__.update(dd) # Then, re-initialize the method handle and the object's execution thread self.callback = ObjectEngine.get(self.funcname) # Reload picture if self.imagefile is not None: self.image = pygame.image.load(self.imagefile).convert_alpha() else: self.image = None self.map = None self._conclude()
def __init__(self, name, rect, methodname, m, image=None, imagefile=None, blocked=False): # Init attributes self.name = name self.rect = rect self.funcname = methodname self.blocked = blocked # Obtain the method handle from ObjectEngine self.callback = ObjectEngine.get(methodname) self.map = m self.image = image self.imagefile = imagefile # Prepare execution thread self._conclude()