class WinAnimation(GameState):
    """All sprites but the player disappear. The player has free movement for a few seconds.
    """

    def __init__(self, manager, player, total_runtime, explosion_args):
        self.manager = manager
        self.player = player

        self.tick = 0
        self.total_runtime = total_runtime

        self.explosion = ShrinkingIonField(*explosion_args)


    def update(self):
        self.tick += 1

        if self.tick >= self.total_runtime:
            self.manager.next_level()
            
        self.player.update()
        self.explosion.update()

    
    def handle_events(self, events, keys):
        return (event_handlers.check_quit(events, keys) and
                event_handlers.move_player(events, keys, self.player))


    def draw(self, screen):
        self.explosion.draw(screen)
        self.player.draw(screen)
    def __init__(self, manager, player, total_runtime, explosion_args):
        self.manager = manager
        self.player = player

        self.tick = 0
        self.total_runtime = total_runtime

        self.explosion = ShrinkingIonField(*explosion_args)