def __init__(self, maze, bossCode): self.maze = maze self.root = NodePath('CogdoMazeGui') self.root.reparentTo(aspect2d) self.mazeMapGui = CogdoMazeMapGui(self.maze.collisionTable) if bossCode is not None: self._bossGui = CogdoMazeBossGui(bossCode) else: self._bossGui = None self._memoGui = CogdoMemoGui(self.root) self._memoGui.posNextToLaffMeter() self._presentGuiIval = None self._presentTimerIval = None self._hud = CogdoMazeHud() self._timer = None self._initMessageDisplay()
class CogdoMazeGuiManager: def __init__(self, maze, bossCode): self.maze = maze self.root = NodePath('CogdoMazeGui') self.root.reparentTo(aspect2d) self.mazeMapGui = CogdoMazeMapGui(self.maze.collisionTable) if bossCode is not None: self._bossGui = CogdoMazeBossGui(bossCode) else: self._bossGui = None self._memoGui = CogdoMemoGui(self.root) self._memoGui.posNextToLaffMeter() self._presentGuiIval = None self._presentTimerIval = None self._hud = CogdoMazeHud() self._timer = None self._initMessageDisplay() return def _initTimer(self): self._timer = ToontownTimer() self._timer.hide() self._timer.posInTopRightCorner() def _initMessageDisplay(self): self.messageDisplay = CogdoGameMessageDisplay( 'CogdoMazeMessageDisplay', self.root, pos=Globals.MessageLabelPos) def destroy(self): ToontownIntervals.cleanup('present_gui') ToontownIntervals.cleanup('present_timer') ToontownIntervals.cleanup('present_memo') self._hud.destroy() self._hud = None self._memoGui.destroy() self._memoGui = None if self._bossGui is not None: self._bossGui.destroy() self._bossGui = None self.messageDisplay.destroy() self.messageDisplay = None self.destroyMazeMap() self.destroyTimer() if self._presentGuiIval: self._presentGuiIval.pause() self._presentGuiIval = None if self._presentTimerIval: self._presentTimerIval.pause() self._presentTimerIval = None return def destroyMazeMap(self): if hasattr(self, 'mazeMapGui') and self.mazeMapGui is not None: self.mazeMapGui.destroy() del self.mazeMapGui return def destroyTimer(self): if self._timer is not None: self._timer.stop() self._timer.destroy() self._timer = None return def showPickupCounter(self): ToontownIntervals.start( ToontownIntervals.getPresentGuiIval(self._memoGui, 'present_memo')) def startGame(self, firstMessage): self._presentGuiIval = ToontownIntervals.start( Sequence(ToontownIntervals.getPresentGuiIval(self._bossGui, '', startPos=(0, 0, -0.15)), Func(self.mazeMapGui.show), ToontownIntervals.getPulseLargerIval( self.mazeMapGui, '', scale=self.mazeMapGui.getScale()), Func(self.setMessage, firstMessage), name='present_gui')) def hideMazeMap(self): self.mazeMapGui.hide() def showBossGui(self): if self._bossGui is not None: self._bossGui.show() return def hideBossGui(self): if self._bossGui is not None: self._bossGui.hide() return def revealMazeMap(self): self.mazeMapGui.revealAll() def hideLock(self, lockIndex): self.mazeMapGui.hideLock(lockIndex) def showTimer(self, duration, timerExpiredCallback=None): if self._timer is None: self._initTimer() self._timer.setTime(duration) self._timer.countdown(duration, timerExpiredCallback) self._timer.show() self._presentTimerIval = ToontownIntervals.start( ToontownIntervals.getPresentGuiIval(self._timer, 'present_timer', startPos=(0, 0, 0.35))) return def hideTimer(self): if hasattr(self, 'timer') and self._timer is not None: self._timer.hide() self._timer.stop() return def setMessage(self, text, color=None, transition='fade'): self.messageDisplay.updateMessage(text, color, transition) def setMessageTemporary(self, text, time=3.0): self.messageDisplay.showMessageTemporarily(text, time) def clearMessage(self): self.messageDisplay.updateMessage('') def setPickupCount(self, count): self._memoGui.setCount(count) def showBossCode(self, bossIndex): self._bossGui.showNumber(bossIndex) def showBossHit(self, bossIndex): self._bossGui.showHit(bossIndex) def showQuestArrow(self, toon, target, offset): self._hud.showQuestArrow(toon, target, offset) def hideQuestArrow(self): self._hud.hideQuestArrow()
class CogdoMazeGuiManager: def __init__(self, maze, bossCode): self.maze = maze self.root = NodePath('CogdoMazeGui') self.root.reparentTo(aspect2d) self.mazeMapGui = CogdoMazeMapGui(self.maze.collisionTable) if bossCode is not None: self._bossGui = CogdoMazeBossGui(bossCode) else: self._bossGui = None self._memoGui = CogdoMemoGui(self.root) self._memoGui.posNextToLaffMeter() self._presentGuiIval = None self._presentTimerIval = None self._hud = CogdoMazeHud() self._timer = None self._initMessageDisplay() return def _initTimer(self): self._timer = ToontownTimer() self._timer.hide() self._timer.posInTopRightCorner() def _initMessageDisplay(self): self.messageDisplay = CogdoGameMessageDisplay('CogdoMazeMessageDisplay', self.root, pos=Globals.MessageLabelPos) def destroy(self): ToontownIntervals.cleanup('present_gui') ToontownIntervals.cleanup('present_timer') ToontownIntervals.cleanup('present_memo') self._hud.destroy() self._hud = None self._memoGui.destroy() self._memoGui = None if self._bossGui is not None: self._bossGui.destroy() self._bossGui = None self.messageDisplay.destroy() self.messageDisplay = None self.destroyMazeMap() self.destroyTimer() if self._presentGuiIval: self._presentGuiIval.pause() self._presentGuiIval = None if self._presentTimerIval: self._presentTimerIval.pause() self._presentTimerIval = None return def destroyMazeMap(self): if hasattr(self, 'mazeMapGui') and self.mazeMapGui is not None: self.mazeMapGui.destroy() del self.mazeMapGui return def destroyTimer(self): if self._timer is not None: self._timer.stop() self._timer.destroy() self._timer = None return def showPickupCounter(self): ToontownIntervals.start(ToontownIntervals.getPresentGuiIval(self._memoGui, 'present_memo')) def startGame(self, firstMessage): self._presentGuiIval = ToontownIntervals.start(Sequence(ToontownIntervals.getPresentGuiIval(self._bossGui, '', startPos=(0, 0, -0.15)), Func(self.mazeMapGui.show), ToontownIntervals.getPulseLargerIval(self.mazeMapGui, '', scale=self.mazeMapGui.getScale()), Func(self.setMessage, firstMessage), name='present_gui')) def hideMazeMap(self): self.mazeMapGui.hide() def showBossGui(self): if self._bossGui is not None: self._bossGui.show() return def hideBossGui(self): if self._bossGui is not None: self._bossGui.hide() return def revealMazeMap(self): self.mazeMapGui.revealAll() def hideLock(self, lockIndex): self.mazeMapGui.hideLock(lockIndex) def showTimer(self, duration, timerExpiredCallback = None): if self._timer is None: self._initTimer() self._timer.setTime(duration) self._timer.countdown(duration, timerExpiredCallback) self._presentTimerIval = ToontownIntervals.start(ToontownIntervals.getPresentGuiIval(self._timer, 'present_timer', startPos=(0, 0, 0.35))) return def hideTimer(self): if hasattr(self, 'timer') and self._timer is not None: self._timer.hide() self._timer.stop() return def setMessage(self, text, color = None, transition = 'fade'): self.messageDisplay.updateMessage(text, color, transition) def setMessageTemporary(self, text, time = 3.0): self.messageDisplay.showMessageTemporarily(text, time) def clearMessage(self): self.messageDisplay.updateMessage('') def setPickupCount(self, count): self._memoGui.setCount(count) def showBossCode(self, bossIndex): self._bossGui.showNumber(bossIndex) def showBossHit(self, bossIndex): self._bossGui.showHit(bossIndex) def showQuestArrow(self, toon, target, offset): self._hud.showQuestArrow(toon, target, offset) def hideQuestArrow(self): self._hud.hideQuestArrow()