def update(self, td):
        self.delay -= td

        if self.delay < 0:
            if self.direction == OUT:
                statemgr.switch(self.new_state, *self.args, **self.kwargs)
                statemgr.next_transition()
            elif self.direction == IN:
                statemgr.next_transition()
        else:
            if self.direction == OUT:
                self.surface.fill(self.color + (int(((self.max_delay-self.delay) / self.max_delay)*255),))
            else:
                self.surface.fill(self.color + (int((self.delay / self.max_delay)*255),))
    def update(self, td):
        self.delay -= td

        if self.delay < 0:
            if self.direction == OUT:
                statemgr.switch(self.new_state, *self.args, **self.kwargs)
                statemgr.next_transition()
            elif self.direction == IN:
                statemgr.next_transition()
        else:
            if self.direction == OUT:
                self.surface.fill(self.color)
                pygame.draw.circle(self.surface, (0,0,0,0), self.surface.get_rect().center, int((self.delay/self.max_delay) * self.max_size))
            else:
                self.surface.fill(self.color)
                pygame.draw.circle(self.surface, (0,0,0,0), self.surface.get_rect().center, int(((self.max_delay-self.delay) / self.max_delay) * self.max_size))
 def update(self, td):
     if self.direction == OUT:
         statemgr.switch(self.new_state, *self.args, **self.kwargs)
         statemgr.next_transition()
     elif self.direction == IN:
         statemgr.next_transition()