def Update(self): self.counter += 1 self.auxillaryCounter += 1 self.level.Update() timeLeft = self.GetTimeLeft() if timeLeft == 0: self.next = GamePlay.LoseScene(self) self.UpdateCamera() self.EnsureSelectionValid() self.progress = self.level.GetProgress() if self.specializer.Shortcircuited( self.levelSeed.specialName ) or self.specializer.MoveToNextLevel(self.counter, self.progress): self.next = GamePlay.LevelUpTransition(self) messages = self.specializer.ShouldShowMessage(self.counter, self.progress) if messages != None: self.next = ShowMessageOverlay(messages[0], messages[1:], self) self.specializer.DoSomethingInteresting(self.counter, self.auxillaryCounter, self.progress, self, self.level) if self.progress == 0 and self.levelSeed.specialName != 'level1': self.next = GamePlay.LoseScene(self)