Exemple #1
0
 def __init__(self, ui):
     super(_TimerPresenter, self).__init__()
     arenaVisitor = g_sessionProvider.arenaVisitor
     if arenaVisitor.gui.isFalloutBattle():
         self.__endingSoonTime = FALLOUT_ENDING_SOON_TIME
     else:
         self.__endingSoonTime = arenaVisitor.type.getBattleEndingSoonTime()
     self.__ui = ui
     self.__arenaPeriodCtrl = ArenaPeriodController()
class _TimerPresenter(ITimersBar):
    """
    On-screen timer. Shared among colored/mono
    """
    sessionProvider = dependency.descriptor(IBattleSessionProvider)

    def __init__(self, ui):
        super(_TimerPresenter, self).__init__()
        arenaVisitor = self.sessionProvider.arenaVisitor
        if arenaVisitor.gui.isFalloutBattle():
            self.__endingSoonTime = FALLOUT_ENDING_SOON_TIME
        else:
            self.__endingSoonTime = arenaVisitor.type.getBattleEndingSoonTime()
        self.__ui = ui
        self.__arenaPeriodCtrl = ArenaPeriodController()

    def start(self):
        self.__arenaPeriodCtrl.startControl(
            weakref.proxy(self.sessionProvider.getCtx()),
            weakref.proxy(self.sessionProvider.arenaVisitor))
        self.__arenaPeriodCtrl.setViewComponents(weakref.proxy(self),
                                                 weakref.proxy(self))
        self.sessionProvider.addArenaCtrl(self.__arenaPeriodCtrl)

    def stop(self):
        self.sessionProvider.removeArenaCtrl(self.__arenaPeriodCtrl)
        self.__arenaPeriodCtrl.stopControl()
        self.__arenaPeriodCtrl.clearViewComponents()

    def setTotalTime(self, totalTime):
        self.__updateTimer(totalTime)

    def hideTotalTime(self):
        pass

    def setState(self, state):
        pass

    def setCountdown(self, state, timeLeft):
        self.__updateTimer(timeLeft)

    def hideCountdown(self, state, speed):
        pass

    def __updateTimer(self, time):
        if self.__ui is not None and time >= 0:
            minutes, seconds = divmod(int(time), 60)
            self.__ui.updateTimer(
                _TimerDisplayData(level=int(time <= self.__endingSoonTime),
                                  minutes='{:02d}'.format(minutes),
                                  seconds='{:02d}'.format(seconds)))
        return
class _TimerPresenter(ITimersBar):
    """
    On-screen timer. Shared among colored/mono
    """

    def __init__(self, ui):
        super(_TimerPresenter, self).__init__()
        arenaVisitor = g_sessionProvider.arenaVisitor
        if arenaVisitor.gui.isFalloutBattle():
            self.__endingSoonTime = FALLOUT_ENDING_SOON_TIME
        else:
            self.__endingSoonTime = arenaVisitor.type.getBattleEndingSoonTime()
        self.__ui = ui
        self.__arenaPeriodCtrl = ArenaPeriodController()

    def start(self):
        self.__arenaPeriodCtrl.startControl(weakref.proxy(g_sessionProvider.getCtx()), weakref.proxy(g_sessionProvider.arenaVisitor))
        self.__arenaPeriodCtrl.setViewComponents(weakref.proxy(self), weakref.proxy(self))
        g_sessionProvider.addArenaCtrl(self.__arenaPeriodCtrl)

    def stop(self):
        g_sessionProvider.removeArenaCtrl(self.__arenaPeriodCtrl)
        self.__arenaPeriodCtrl.stopControl()
        self.__arenaPeriodCtrl.clearViewComponents()

    def setTotalTime(self, totalTime):
        self.__updateTimer(totalTime)

    def hideTotalTime(self):
        pass

    def setState(self, state):
        pass

    def setCountdown(self, state, timeLeft):
        self.__updateTimer(timeLeft)

    def hideCountdown(self, state, speed):
        pass

    def __updateTimer(self, time):
        if self.__ui is not None and time >= 0:
            minutes, seconds = divmod(int(time), 60)
            self.__ui.updateTimer(_TimerDisplayData(level=int(time <= self.__endingSoonTime), minutes='{:02d}'.format(minutes), seconds='{:02d}'.format(seconds)))
        return