Пример #1
0
 def doAction(self, action=None, dispatcher=None):
     if self.isCreator():
         if self.getRosterKey() != PREBATTLE_ROSTER.ASSIGNED_IN_TEAM1:
             DialogsInterface.showI18nInfoDialog('teamDoesNotHaveCommander',
                                                 lambda result: None)
             return True
         stats = self.getPlayersStateStats()
         creatorWeight = 1 if not self.getPlayerInfo().isReady() else 0
         readyCount = stats.playersCount - stats.notReadyCount
         if readyCount < stats.limitMaxCount - creatorWeight:
             DialogsInterface.showDialog(
                 I18nConfirmDialogMeta('teamHaveNotReadyPlayers',
                                       messageCtx={
                                           'readyCount': readyCount,
                                           'playersCount':
                                           stats.playersCount
                                       }), self.__setCreatorReady)
             return True
         self.__setCreatorReady(True)
     elif self.getPlayerInfo().isReady():
         self.setPlayerState(
             prb_ctx.SetPlayerStateCtx(
                 False, waitingID='prebattle/player_not_ready'))
     else:
         self.setPlayerState(
             prb_ctx.SetPlayerStateCtx(True,
                                       waitingID='prebattle/player_ready'))
     return True
Пример #2
0
 def doAction(self, action=None, dispatcher=None):
     if self.getPlayerInfo().isReady():
         self.setPlayerState(
             prb_ctx.SetPlayerStateCtx(
                 False, waitingID='prebattle/player_not_ready'))
     else:
         self.setPlayerState(
             prb_ctx.SetPlayerStateCtx(True,
                                       waitingID='prebattle/player_ready'))
     return True
Пример #3
0
 def __setCreatorReady(self, result):
     if not result:
         return
     if self.getPlayerInfo().isReady():
         self.__setTeamReady()
     else:
         self.setPlayerState(prb_ctx.SetPlayerStateCtx(
             True, waitingID='prebattle/player_ready'),
                             callback=self.__onCreatorReady)
Пример #4
0
 def requestToReady(self, value):
     if value:
         waitingID = 'prebattle/player_ready'
     else:
         waitingID = 'prebattle/player_not_ready'
     result = yield self.prbDispatcher.sendPrbRequest(
         prb_ctx.SetPlayerStateCtx(value, waitingID=waitingID))
     if result:
         self.as_toggleReadyBtnS(not value)
Пример #5
0
 def exitFromQueue(self):
     if self.isCreator():
         self.setTeamState(
             prb_ctx.SetTeamStateCtx(1,
                                     False,
                                     waitingID='prebattle/team_not_ready'))
     else:
         self.setPlayerState(
             prb_ctx.SetPlayerStateCtx(
                 False, waitingID='prebattle/player_not_ready'))
     return True
Пример #6
0
 def __enterTrainingRoom(self):
     if self.storage.isObserver:
         self.changeUserObserverStatus(
             prb_ctx.SetPlayerObserverStateCtx(
                 True, True, waitingID='prebattle/change_user_status'),
             self.__onPlayerReady)
     else:
         self.setPlayerState(
             prb_ctx.SetPlayerStateCtx(True,
                                       waitingID='prebattle/player_ready'),
             self.__onPlayerReady)
Пример #7
0
 def changeUserObserverStatus(self, ctx, callback=None):
     if self._cooldown.validate(REQUEST_TYPE.CHANGE_USER_STATUS):
         if callback:
             callback(False)
         return
     if ctx.isObserver():
         self._setPlayerReady(ctx, callback=callback)
     else:
         self._setPlayerReady(
             prb_ctx.SetPlayerStateCtx(True,
                                       waitingID='prebattle/player_ready'),
             self.__onPlayerReady)
     self._cooldown.process(REQUEST_TYPE.CHANGE_USER_STATUS)
Пример #8
0
 def __loadTrainingRoom(self, dispatcher):
     result = yield dispatcher.sendPrbRequest(
         prb_ctx.SetPlayerStateCtx(True,
                                   waitingID='prebattle/player_not_ready'))
     if result:
         g_eventDispatcher.loadTrainingRoom()
Пример #9
0
 def __handleViewLoad(self, _):
     self.setPlayerState(
         prb_ctx.SetPlayerStateCtx(False,
                                   waitingID='prebattle/player_not_ready'))