コード例 #1
0
ファイル: company.py プロジェクト: 19colt87/WOTDecompiled
 def changeDivision(self, ctx, callback = None):
     if ctx.getRequestType() != REQUEST_TYPE.CHANGE_DIVISION:
         LOG_ERROR('Invalid context for request changeDivision', ctx)
         if callback:
             callback(False)
         return
     if not ctx.isDivisionChanged(self._settings):
         if callback:
             callback(False)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_SETTINGS):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.CHANGE_SETTINGS), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     if ctx.getDivision() not in PREBATTLE_COMPANY_DIVISION.RANGE:
         LOG_ERROR('Division is invalid', ctx)
         if callback:
             callback(False)
         return
     if self.getTeamState().isInQueue():
         LOG_ERROR('Team is ready or locked', ctx)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if not pPermissions.canChangeDivision():
         LOG_ERROR('Player can not change division', pPermissions)
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback)
     BigWorld.player().prb_changeDivision(ctx.getDivision(), ctx.onResponseReceived)
     setRequestCoolDown(REQUEST_TYPE.CHANGE_SETTINGS)
コード例 #2
0
 def changeComment(self, ctx, callback=None):
     if ctx.getRequestType() != REQUEST_TYPE.CHANGE_COMMENT:
         LOG_ERROR('Invalid context for request changeComment', ctx)
         if callback:
             callback(False)
         return
     if not ctx.isCommentChanged(self._settings):
         if callback:
             callback(False)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_SETTINGS):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(
             REQUEST_TYPE.CHANGE_SETTINGS),
                                    type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if not pPermissions.canChangeComment():
         LOG_ERROR('Player can not change comment', pPermissions)
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback)
     BigWorld.player().prb_changeComment(ctx.getComment(),
                                         ctx.onResponseReceived)
     setRequestCoolDown(REQUEST_TYPE.CHANGE_SETTINGS)
コード例 #3
0
ファイル: training.py プロジェクト: v3ss0n/WOTDecompiled
 def create(self, ctx, callback=None):
     if not isinstance(ctx, TrainingSettingsCtx):
         LOG_ERROR('Invalid context to create training', ctx)
         if callback:
             callback(False)
     elif info.isRequestInCoolDown(REQUEST_TYPE.CREATE):
         SystemMessages.pushMessage(messages.getJoinFailureMessage(
             JOIN_FAILURE.COOLDOWN),
                                    type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
     elif prb_control.getClientPrebattle() is None or ctx.isForced():
         ctx.startProcessing(callback=callback)
         BigWorld.player().prb_createTraining(ctx.getArenaTypeID(),
                                              ctx.getRoundLen(),
                                              ctx.isOpened(),
                                              ctx.getComment())
         info.setRequestCoolDown(
             REQUEST_TYPE.CREATE,
             coolDown=REQUEST_COOLDOWN.PREBATTLE_CREATION)
     else:
         LOG_ERROR(
             'First, player has to confirm exit from the current prebattle',
             prb_control.getPrebattleType())
         if callback:
             callback(False)
     return
コード例 #4
0
ファイル: default.py プロジェクト: 19colt87/WOTDecompiled
 def _setTeamNotReady(self, ctx, callback = None):
     if info.isRequestInCoolDown(REQUEST_TYPE.SET_TEAM_STATE):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.SET_TEAM_STATE, REQUEST_COOLDOWN.PREBATTLE_TEAM_NOT_READY), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback)
     BigWorld.player().prb_teamNotReady(ctx.getTeam(), ctx.onResponseReceived)
     info.setRequestCoolDown(REQUEST_TYPE.SET_TEAM_STATE, coolDown=REQUEST_COOLDOWN.PREBATTLE_TEAM_NOT_READY)
コード例 #5
0
ファイル: company.py プロジェクト: 19colt87/WOTDecompiled
 def request(self, ctx = None):
     if isRequestInCoolDown(REQUEST_TYPE.PREBATTLES_LIST):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.PREBATTLES_LIST), type=SystemMessages.SM_TYPE.Error)
         return
     LOG_DEBUG('Request prebattle', ctx)
     setRequestCoolDown(REQUEST_TYPE.PREBATTLES_LIST)
     if ctx.byDivision():
         BigWorld.player().requestPrebattlesByDivision(ctx.isNotInBattle, ctx.division)
     elif ctx.byName():
         BigWorld.player().requestPrebattlesByName(PREBATTLE_TYPE.COMPANY, ctx.isNotInBattle, ctx.creatorMask)
     else:
         BigWorld.player().requestPrebattles(PREBATTLE_TYPE.COMPANY, PREBATTLE_CACHE_KEY.CREATE_TIME, ctx.isNotInBattle, -50, 0)
コード例 #6
0
 def _populate(self):
     super(CompaniesWindow, self)._populate()
     self.addListener(events.CoolDownEvent.PREBATTLE, self.__handleSetPrebattleCoolDown, scope=EVENT_BUS_SCOPE.LOBBY)
     self.__listDP = companies_dps.CompaniesDataProvider()
     self.__listDP.setFlashObject(self.as_getCompaniesListDPS())
     self.as_disableCreateButtonS(self.prbDispatcher.hasModalEntity())
     self.startGlobalListening()
     self.__listRequester.start(self.__onCompaniesListReceived)
     self.__rosterRequester.start(self.__onRosterReceived)
     self.as_setDefaultFilterS('', False, 0)
     if not isRequestInCoolDown(REQUEST_TYPE.PREBATTLES_LIST):
         self.__listRequester.request(context.RequestCompaniesCtx(False, 0, ''))
     else:
         self.as_setRefreshCoolDownS(DEFAULT_PREBATTLE_COOLDOWN)
コード例 #7
0
ファイル: default.py プロジェクト: 19colt87/WOTDecompiled
 def swapTeams(self, ctx, callback = None):
     if info.isRequestInCoolDown(REQUEST_TYPE.SWAP_TEAMS):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.SWAP_TEAMS), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if self.getPermissions().canChangePlayerTeam():
         ctx.startProcessing(callback)
         BigWorld.player().prb_swapTeams(ctx.onResponseReceived)
         info.setRequestCoolDown(REQUEST_TYPE.SWAP_TEAMS)
     else:
         LOG_ERROR('Player can not swap teams', pPermissions)
         if callback:
             callback(False)
コード例 #8
0
ファイル: default.py プロジェクト: 19colt87/WOTDecompiled
 def _setPlayerNotReady(self, ctx, callback = None):
     if info.isRequestInCoolDown(REQUEST_TYPE.SET_PLAYER_STATE):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.SET_PLAYER_STATE, REQUEST_COOLDOWN.PREBATTLE_NOT_READY), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     rosterKey = self.getRosterKey()
     team, assigned = decodeRoster(rosterKey)
     if assigned and self.getTeamState(team=team).isInQueue():
         LOG_ERROR('Account assigned and team is ready or locked')
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback)
     BigWorld.player().prb_notReady(PREBATTLE_ACCOUNT_STATE.NOT_READY, ctx.onResponseReceived)
     info.setRequestCoolDown(REQUEST_TYPE.SET_PLAYER_STATE, coolDown=REQUEST_COOLDOWN.PREBATTLE_NOT_READY)
コード例 #9
0
ファイル: default.py プロジェクト: 19colt87/WOTDecompiled
 def sendInvites(self, ctx, callback = None):
     if info.isRequestInCoolDown(REQUEST_TYPE.SEND_INVITE):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.SEND_INVITE), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if self.getPermissions().canSendInvite():
         BigWorld.player().prb_sendInvites(ctx.getDatabaseIDs(), ctx.getComment())
         info.setRequestCoolDown(REQUEST_TYPE.SEND_INVITE, coolDown=REQUEST_COOLDOWN.PREBATTLE_INVITES)
         if callback:
             callback(True)
     else:
         LOG_ERROR('Player can not send invite', pPermissions)
         if callback:
             callback(False)
コード例 #10
0
ファイル: squad.py プロジェクト: 19colt87/WOTDecompiled
 def create(self, ctx, callback = None):
     if not isinstance(ctx, context.SquadSettingsCtx):
         LOG_ERROR('Invalid context to create squad', ctx)
         if callback:
             callback(False)
     elif info.isRequestInCoolDown(REQUEST_TYPE.CREATE):
         SystemMessages.pushMessage(messages.getJoinFailureMessage(JOIN_FAILURE.COOLDOWN), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
     elif prb_control.getClientPrebattle() is None or ctx.isForced():
         ctx.startProcessing(callback=callback)
         BigWorld.player().prb_createSquad()
         info.setRequestCoolDown(REQUEST_TYPE.CREATE, coolDown=REQUEST_COOLDOWN.PREBATTLE_CREATION)
     else:
         LOG_ERROR('First, player has to confirm exit from the current prebattle', prb_control.getPrebattleType())
         if callback:
             callback(False)
     return
コード例 #11
0
 def request(self, ctx=None):
     if isRequestInCoolDown(REQUEST_TYPE.PREBATTLES_LIST):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(
             REQUEST_TYPE.PREBATTLES_LIST),
                                    type=SystemMessages.SM_TYPE.Error)
         return
     LOG_DEBUG('Request prebattle', ctx)
     setRequestCoolDown(REQUEST_TYPE.PREBATTLES_LIST)
     if ctx.byDivision():
         BigWorld.player().requestPrebattlesByDivision(
             ctx.isNotInBattle, ctx.division)
     elif ctx.byName():
         BigWorld.player().requestPrebattlesByName(PREBATTLE_TYPE.COMPANY,
                                                   ctx.isNotInBattle,
                                                   ctx.creatorMask)
     else:
         BigWorld.player().requestPrebattles(
             PREBATTLE_TYPE.COMPANY, PREBATTLE_CACHE_KEY.CREATE_TIME,
             ctx.isNotInBattle, -50, 0)
コード例 #12
0
ファイル: training.py プロジェクト: 19colt87/WOTDecompiled
 def changeArenaVoip(self, ctx, callback = None):
     if ctx.getChannels() == self._settings[PREBATTLE_SETTING_NAME.ARENA_VOIP_CHANNELS]:
         if callback:
             callback(True)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_ARENA_VOIP):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.CHANGE_ARENA_VOIP), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if pPermissions.canChangeArenaVOIP():
         ctx.startProcessing(callback=callback)
         BigWorld.player().prb_changeArenaVoip(ctx.getChannels(), ctx.onResponseReceived)
         setRequestCoolDown(REQUEST_TYPE.CHANGE_ARENA_VOIP)
     else:
         LOG_ERROR('Player can not change arena VOIP', pPermissions)
         if callback:
             callback(False)
コード例 #13
0
ファイル: training.py プロジェクト: v3ss0n/WOTDecompiled
 def changeArenaVoip(self, ctx, callback=None):
     if ctx.getChannels() == self._settings[
             PREBATTLE_SETTING_NAME.ARENA_VOIP_CHANNELS]:
         if callback:
             callback(True)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_ARENA_VOIP):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(
             REQUEST_TYPE.CHANGE_ARENA_VOIP),
                                    type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if pPermissions.canChangeArenaVOIP():
         ctx.startProcessing(callback=callback)
         BigWorld.player().prb_changeArenaVoip(ctx.getChannels(),
                                               ctx.onResponseReceived)
         setRequestCoolDown(REQUEST_TYPE.CHANGE_ARENA_VOIP)
     else:
         LOG_ERROR('Player can not change arena VOIP', pPermissions)
         if callback:
             callback(False)
コード例 #14
0
 def changeDivision(self, ctx, callback=None):
     if ctx.getRequestType() != REQUEST_TYPE.CHANGE_DIVISION:
         LOG_ERROR('Invalid context for request changeDivision', ctx)
         if callback:
             callback(False)
         return
     if not ctx.isDivisionChanged(self._settings):
         if callback:
             callback(False)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_SETTINGS):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(
             REQUEST_TYPE.CHANGE_SETTINGS),
                                    type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     if ctx.getDivision() not in PREBATTLE_COMPANY_DIVISION.RANGE:
         LOG_ERROR('Division is invalid', ctx)
         if callback:
             callback(False)
         return
     if self.getTeamState().isInQueue():
         LOG_ERROR('Team is ready or locked', ctx)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if not pPermissions.canChangeDivision():
         LOG_ERROR('Player can not change division', pPermissions)
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback)
     BigWorld.player().prb_changeDivision(ctx.getDivision(),
                                          ctx.onResponseReceived)
     setRequestCoolDown(REQUEST_TYPE.CHANGE_SETTINGS)
コード例 #15
0
ファイル: company.py プロジェクト: 19colt87/WOTDecompiled
 def changeComment(self, ctx, callback = None):
     if ctx.getRequestType() != REQUEST_TYPE.CHANGE_COMMENT:
         LOG_ERROR('Invalid context for request changeComment', ctx)
         if callback:
             callback(False)
         return
     if not ctx.isCommentChanged(self._settings):
         if callback:
             callback(False)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_SETTINGS):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.CHANGE_SETTINGS), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     pPermissions = self.getPermissions()
     if not pPermissions.canChangeComment():
         LOG_ERROR('Player can not change comment', pPermissions)
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback)
     BigWorld.player().prb_changeComment(ctx.getComment(), ctx.onResponseReceived)
     setRequestCoolDown(REQUEST_TYPE.CHANGE_SETTINGS)
コード例 #16
0
ファイル: training.py プロジェクト: 19colt87/WOTDecompiled
 def changeSettings(self, ctx, callback = None):
     if ctx.getRequestType() != REQUEST_TYPE.CHANGE_SETTINGS:
         LOG_ERROR('Invalid context for request changeSettings', ctx)
         if callback:
             callback(False)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_SETTINGS):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(REQUEST_TYPE.CHANGE_SETTINGS), type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     player = BigWorld.player()
     pPermissions = self.getPermissions()
     self.__settingRecords = []
     rejected = False
     isOpenedChanged = ctx.isOpenedChanged(self._settings)
     isCommentChanged = ctx.isCommentChanged(self._settings)
     isArenaTypeIDChanged = ctx.isArenaTypeIDChanged(self._settings)
     isRoundLenChanged = ctx.isRoundLenChanged(self._settings)
     if isOpenedChanged:
         if pPermissions.canMakeOpenedClosed():
             self.__settingRecords.append('isOpened')
         else:
             LOG_ERROR('Player can not make training opened/closed', pPermissions)
             rejected = True
     if isCommentChanged:
         if pPermissions.canChangeComment():
             self.__settingRecords.append('comment')
         else:
             LOG_ERROR('Player can not change comment', pPermissions)
             rejected = True
     if isArenaTypeIDChanged:
         if pPermissions.canChangeArena():
             self.__settingRecords.append('arenaTypeID')
         else:
             LOG_ERROR('Player can not change comment', pPermissions)
             rejected = True
     if isRoundLenChanged:
         if pPermissions.canChangeArena():
             self.__settingRecords.append('roundLength')
         else:
             LOG_ERROR('Player can not change comment', pPermissions)
             rejected = True
     if rejected:
         self.__settingRecords = []
         if callback:
             callback(False)
         return
     if not len(self.__settingRecords):
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback=callback)
     if isOpenedChanged:
         player.prb_changeOpenStatus(ctx.isOpened(), partial(self.__onSettingChanged, record='isOpened', callback=ctx.stopProcessing))
     if isCommentChanged:
         player.prb_changeComment(ctx.getComment(), partial(self.__onSettingChanged, record='comment', callback=ctx.stopProcessing))
     if isArenaTypeIDChanged:
         player.prb_changeArena(ctx.getArenaTypeID(), partial(self.__onSettingChanged, record='arenaTypeID', callback=ctx.stopProcessing))
     if isRoundLenChanged:
         player.prb_changeRoundLength(ctx.getRoundLen(), partial(self.__onSettingChanged, record='roundLength', callback=ctx.stopProcessing))
     if not len(self.__settingRecords):
         if callback:
             callback(False)
     else:
         setRequestCoolDown(REQUEST_TYPE.CHANGE_SETTINGS)
コード例 #17
0
ファイル: training.py プロジェクト: v3ss0n/WOTDecompiled
 def changeSettings(self, ctx, callback=None):
     if ctx.getRequestType() != REQUEST_TYPE.CHANGE_SETTINGS:
         LOG_ERROR('Invalid context for request changeSettings', ctx)
         if callback:
             callback(False)
         return
     if isRequestInCoolDown(REQUEST_TYPE.CHANGE_SETTINGS):
         SystemMessages.pushMessage(messages.getRequestInCoolDownMessage(
             REQUEST_TYPE.CHANGE_SETTINGS),
                                    type=SystemMessages.SM_TYPE.Error)
         if callback:
             callback(False)
         return
     player = BigWorld.player()
     pPermissions = self.getPermissions()
     self.__settingRecords = []
     rejected = False
     isOpenedChanged = ctx.isOpenedChanged(self._settings)
     isCommentChanged = ctx.isCommentChanged(self._settings)
     isArenaTypeIDChanged = ctx.isArenaTypeIDChanged(self._settings)
     isRoundLenChanged = ctx.isRoundLenChanged(self._settings)
     if isOpenedChanged:
         if pPermissions.canMakeOpenedClosed():
             self.__settingRecords.append('isOpened')
         else:
             LOG_ERROR('Player can not make training opened/closed',
                       pPermissions)
             rejected = True
     if isCommentChanged:
         if pPermissions.canChangeComment():
             self.__settingRecords.append('comment')
         else:
             LOG_ERROR('Player can not change comment', pPermissions)
             rejected = True
     if isArenaTypeIDChanged:
         if pPermissions.canChangeArena():
             self.__settingRecords.append('arenaTypeID')
         else:
             LOG_ERROR('Player can not change comment', pPermissions)
             rejected = True
     if isRoundLenChanged:
         if pPermissions.canChangeArena():
             self.__settingRecords.append('roundLength')
         else:
             LOG_ERROR('Player can not change comment', pPermissions)
             rejected = True
     if rejected:
         self.__settingRecords = []
         if callback:
             callback(False)
         return
     if not len(self.__settingRecords):
         if callback:
             callback(False)
         return
     ctx.startProcessing(callback=callback)
     if isOpenedChanged:
         player.prb_changeOpenStatus(
             ctx.isOpened(),
             partial(self.__onSettingChanged,
                     record='isOpened',
                     callback=ctx.stopProcessing))
     if isCommentChanged:
         player.prb_changeComment(
             ctx.getComment(),
             partial(self.__onSettingChanged,
                     record='comment',
                     callback=ctx.stopProcessing))
     if isArenaTypeIDChanged:
         player.prb_changeArena(
             ctx.getArenaTypeID(),
             partial(self.__onSettingChanged,
                     record='arenaTypeID',
                     callback=ctx.stopProcessing))
     if isRoundLenChanged:
         player.prb_changeRoundLength(
             ctx.getRoundLen(),
             partial(self.__onSettingChanged,
                     record='roundLength',
                     callback=ctx.stopProcessing))
     if not len(self.__settingRecords):
         if callback:
             callback(False)
     else:
         setRequestCoolDown(REQUEST_TYPE.CHANGE_SETTINGS)