def canAcceptInvite(self, invite): result = False if invite.id in self.__receivedInvites: from gui.prb_control.dispatcher import g_prbLoader dispatcher = g_prbLoader.getDispatcher() if dispatcher: prbFunctional = dispatcher.getPrbFunctional() unitFunctional = dispatcher.getUnitFunctional() return (prbFunctional and prbFunctional.hasLockedState() or unitFunctional and unitFunctional.hasLockedState()) and False another = invite.anotherPeriphery if another: if g_preDefinedHosts.periphery(invite.peripheryID) is None: LOG_ERROR('Periphery not found') result = False elif g_lobbyContext.getCredentials() is None: LOG_ERROR('Login info not found') result = False elif g_preDefinedHosts.isRoamingPeriphery(invite.peripheryID) and not isRoamingEnabled(g_itemsCache.items.stats.attributes): LOG_ERROR('Roaming is not supported') result = False elif invite.id > 0: result = invite.isActive() else: result = invite.id > 0 and invite.isActive() return result
def fightClick(self, mapID, actionName): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doAction(PrebattleAction(actionName, mapID=mapID)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def getDisplayableData(self, unitIdx = None): if unitIdx is not None: unitIdx = int(unitIdx) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: functional = dispatcher.getUnitFunctional() data = vo_converters.getUnitRosterData(functional, unitIdx=unitIdx) players = functional.getPlayers(unitIdx) unitComment = functional.getCensoredComment(unitIdx=unitIdx) commander = None for dbId, playerInfo in players.iteritems(): if playerInfo.isCreator(): commander = playerInfo break data['unitComment'] = unitComment if commander is not None: data['commanderName'] = commander.getFullName() data['commanderRating'] = BigWorld.wg_getIntegralFormat(commander.rating) else: data['commanderName'] = '' data['commanderRating'] = '0' return data else: super(CybersportUnitToolTipData, self).getDisplayableData(unitIdx) return
def showSquad(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doSelectAction(PrebattleAction(PREBATTLE_ACTION_NAME.SQUAD)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def __validateTutorialState(self, ctx): cache = ctx.cache dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: state = dispatcher.getFunctionalState() if state.isInPreQueue(QUEUE_TYPE.TUTORIAL): cache.setRefused(True).write() return False if ctx.restart: return True elif not ctx.isFirstStart and not cache.isAfterBattle() and not ctx.restart: cache.setRefused(True).write() return False else: if cache.isRefused(): received = ctx.globalFlags[GLOBAL_FLAG.ALL_BONUSES_RECEIVED] if not received and not ctx.isAfterBattle and cache.doStartOnNextLogin(): cache.setRefused(False).write() return True else: return False if cache.isAfterBattle(): return True result = not ctx.isAfterBattle and cache.doStartOnNextLogin() cache.setRefused(not result).write() return result return
def __updatePrebattleControls(self): prbDispatcher = g_prbLoader.getDispatcher() if not prbDispatcher: return items = battle_selector_items.getItems() state = prbDispatcher.getFunctionalState() selected = items.update(state) canDo, canDoMsg = prbDispatcher.canPlayerDoAction() playerInfo = prbDispatcher.getPlayerInfo() if selected.isInSquad(state): isInSquad = True else: isInSquad = False isSqaudDisabled = state.hasLockedState or self.__falloutCtrl.isEnabled() and not self.__falloutCtrl.getBattleType() self.as_doDisableHeaderButtonS(self.BUTTONS.SQUAD, not isSqaudDisabled) falloutCtrl = getFalloutCtrl() isFallout = falloutCtrl.isSelected() if isInSquad: tooltip = TOOLTIPS.HEADER_SQUAD_MEMBER else: tooltip = TOOLTIPS.HEADER_DOMINATIONSQUAD if isFallout else TOOLTIPS.HEADER_SQUAD self.as_updateSquadS(isInSquad, tooltip, TOOLTIP_TYPES.COMPLEX) isFightBtnDisabled = not canDo or selected.isFightButtonForcedDisabled() if isFightBtnDisabled: self.as_setFightBtnTooltipDataS(self.__getFightBtnTooltipData(canDoMsg)) else: self.as_setFightBtnTooltipDataS(None) self.as_disableFightButtonS(isFightBtnDisabled) self.as_setFightButtonS(selected.getFightButtonLabel(state, playerInfo)) self.as_updateBattleTypeS(i18n.makeString(selected.getLabel()), selected.getSmallIcon(), not selected.isDisabled(), TOOLTIPS.HEADER_BATTLETYPE, TOOLTIP_TYPES.COMPLEX, selected.getData()) if selected.isDisabled(): self.__closeBattleTypeSelectPopover() else: self.__updateBattleTypeSelectPopover()
def getDisplayableData(self, level): ms = i18n.makeString requiredLevel = level statusLevel = 'warning' description = ms(TOOLTIPS.CYBERSPORT_UNITLEVEL_DESCRIPTION) statusMsg = ms(TOOLTIPS.CYBERSPORT_UNITLEVEL_BODY_TOTALLEVEL, sumLevels=level) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: functional = dispatcher.getUnitFunctional() if functional: requiredLevel = functional.getRosterSettings().getMinTotalLevel() canDoAction, restriction = functional.validateLevels() if restriction == UNIT_RESTRICTION.MIN_TOTAL_LEVEL: statusLevel = 'critical' statusMsg = ms(TOOLTIPS.CYBERSPORT_UNITLEVEL_BODY_MINTOTALLEVELERROR, sumLevels=level) elif restriction == UNIT_RESTRICTION.MAX_TOTAL_LEVEL: statusLevel = 'critical' statusMsg = ms(TOOLTIPS.CYBERSPORT_UNITLEVEL_BODY_MAXTOTALLEVELERROR, sumLevels=level) elif restriction == UNIT_RESTRICTION.INVALID_TOTAL_LEVEL: msg, ctx = ActionButtonStateVO.getInvalidVehicleLevelsMessage(functional) reason = i18n.makeString(msg, **ctx) description = makeHtmlString('html_templates:lobby/cyberSport/unit', 'invalidLevelDescription', {'description': description, 'reason': reason}) elif canDoAction and not restriction: statusLevel = 'info' result = {'header': ms(TOOLTIPS.CYBERSPORT_UNITLEVEL_TITLE), 'description': description, 'level': str(requiredLevel), 'icon': RES_ICONS.MAPS_ICONS_LIBRARY_OKICON, 'levelDescription': ms(TOOLTIPS.CYBERSPORT_UNITLEVEL_BODY), 'statusMsg': statusMsg, 'statusLevel': statusLevel} return result
def __updateTrainingRoom(self, event): settings = event.ctx.get('settings', None) if settings and settings.areSettingsChanged(self.prbFunctional.getSettings()): settings.setWaitingID('prebattle/change_settings') result = yield g_prbLoader.getDispatcher().sendPrbRequest(settings) if not result: self.__showActionErrorMessage()
def select(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doSelectAction(PrebattleAction(self._data)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def select(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self._doSelect(dispatcher) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def __get__(self, obj, objType = None): from gui.prb_control.dispatcher import g_prbLoader dispatcher = g_prbLoader.getDispatcher() functional = None if dispatcher is not None: functional = dispatcher.getUnitFunctional() return functional
def triggerEffect(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self._doEffect(dispatcher) else: LOG_WARNING('Prebattle dispatcher is not defined') return
def __joinToSortie(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: yield dispatcher.join(JoinModeCtx(PREBATTLE_TYPE.SORTIE, modeFlags=UNIT_MODE_FLAGS.SHOW_LIST)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def triggerEffect(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self._doEffect(dispatcher) else: LOG_WARNING("Prebattle dispatcher is not defined") self._tutorial.getFlags().deactivateFlag(self._effect.getTargetID()) return
def __joinToSortie(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: flags = FUNCTIONAL_FLAG.SHOW_ENTITIES_BROWSER | FUNCTIONAL_FLAG.SWITCH yield dispatcher.join(JoinModeCtx(PREBATTLE_TYPE.SORTIE, flags=flags)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def getDisplayableData(self, playerID): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: functional = dispatcher.getPrbFunctional() playerInfo = functional.getPlayerInfo(pID=playerID) if playerInfo.isVehicleSpecified(): return vo_converters.makeVehicleVO(playerInfo.getVehicle()) super(SquadSlotSelectedToolTipData, self).getDisplayableData()
def getDisplayableData(self, index, unitIdx=None): if unitIdx is not None: unitIdx = int(unitIdx) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: functional = dispatcher.getUnitFunctional() return vo_converters.getUnitRosterData(functional, unitIdx, int(index)) super(CybersportSlotToolTipData, self).getDisplayableData(index, unitIdx)
def __updateClientState(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: permissions = dispatcher.getPrbFunctional().getPermissions() if permissions and not permissions.canExitFromRandomQueue(): self.flashObject.as_showExit(False) self.flashObject.as_setType(prb_control.getArenaGUIType()) return
def __handleSetPrebattleCoolDown(self, event): prbDispatcher = g_prbLoader.getDispatcher() if not prbDispatcher: return playerInfo = prbDispatcher.getPlayerInfo() isCreator = playerInfo.isCreator if event.requestID is REQUEST_TYPE.SET_PLAYER_STATE and not isCreator: self.as_setCoolDownForReadyS(event.coolDown)
def __updateRoamingCtrl(self, event): from gui.prb_control.dispatcher import g_prbLoader dispatcher = g_prbLoader.getDispatcher() isRoamingCtrlDisabled = False if dispatcher: prbFunctional = dispatcher.getPrbFunctional() unitFunctional = dispatcher.getUnitFunctional() isRoamingCtrlDisabled = prbFunctional and prbFunctional.hasLockedState() or unitFunctional and unitFunctional.hasLockedState() self.as_disableRoamingDDS(isRoamingCtrlDisabled)
def selectRandomBattle(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is None: _logger.error('Prebattle dispatcher is not defined') return else: self.__callbackID = BigWorld.callback( 0, partial(self.__doSelectRandomPrb, dispatcher)) return
def getSupportedCurrentArenaBonusType(queueType=None): dispatcher = g_prbLoader.getDispatcher() isInUnit = False if dispatcher: state = dispatcher.getFunctionalState() isInUnit = state.isInUnit(state.entityTypeID) if queueType is None: queueType = dispatcher.getEntity().getQueueType() return getSupportedArenaBonusTypeFor(queueType, isInUnit)
def __preprocessState(self, state, level): config = self._tooltip.context.getStatusConfiguration(self._tooltip.item) preQueue = g_prbLoader.getDispatcher().getPreQueueFunctional() if config.checkNotSuitable and state != Vehicle.VEHICLE_STATE.BATTLE and preQueue.getQueueType() == constants.QUEUE_TYPE.HISTORICAL: battle = preQueue.getItemData() if battle is not None: if not battle.canParticipateWith(self._tooltip.item.intCD): return ('notSuitable', Vehicle.VEHICLE_STATE_LEVEL.WARNING) return (state, level)
def __updateTrainingRoom(self, event): settings = event.ctx.get('settings', None) if settings and settings.areSettingsChanged( self.prbFunctional.getSettings()): settings.setWaitingID('prebattle/change_settings') result = yield g_prbLoader.getDispatcher().sendPrbRequest(settings) if not result: self.__showActionErrorMessage() return
def triggerEffect(self): from gui.prb_control.dispatcher import g_prbLoader dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self.__doSelect(dispatcher) return True else: LOG_ERROR('Prebattle dispatcher is not defined') return False
def __updateClientState(self): dispatcher = g_prbLoader.getDispatcher() queueType = None if dispatcher is not None: queueType = dispatcher.getPreQueueFunctional().getQueueType() permissions = dispatcher.getUnitFunctional().getPermissions() if permissions and not permissions.canExitFromQueue(): self.as_showExitS(False) self.as_setTypeS(prb_control.getArenaGUIType(queueType=queueType))
def __canNavigate(cls): prbDispatcher = g_prbLoader.getDispatcher() if prbDispatcher is not None and prbDispatcher.getFunctionalState( ).isNavigationDisabled(): SystemMessages.pushI18nMessage('#system_messages:queue/isInQueue', type=SystemMessages.SM_TYPE.Error) return False else: return True
def triggerEffect(self): self.__result = False dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self._doEffect(dispatcher) else: LOG_WARNING('Prebattle dispatcher is not defined') self._tutorial.getFlags().deactivateFlag(self._effect.getTargetID()) return self.__result
def invoke(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher: functional = dispatcher.getPrbFunctional() if functional.hasEntity(): self._running = True self.__doLeave(dispatcher) else: LOG_DEBUG('Leave prebattle. Player has not prebattle') self._completed = True
def triggerEffect(self): from gui.prb_control.context import PrebattleAction from gui.prb_control.dispatcher import g_prbLoader from gui.prb_control.settings import PREBATTLE_ACTION_NAME dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doSelectAction(PrebattleAction(PREBATTLE_ACTION_NAME.RANDOM_QUEUE)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def triggerEffect(self): self.__result = False dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self._doEffect(dispatcher) else: LOG_WARNING('Prebattle dispatcher is not defined') if not self.__result: self._tutorial.refuse() return self.__result
def handleEvent(): prbDispatcher = g_prbLoader.getDispatcher() if prbDispatcher is not None and prbDispatcher.getFunctionalState( ).isNavigationDisabled(): SystemMessages.pushI18nMessage('#system_messages:queue/isInQueue', type=SystemMessages.SM_TYPE.Error) return False else: showMissionsCategories() return True
def triggerEffect(self): from gui.prb_control.context import PrebattleAction from gui.prb_control.dispatcher import g_prbLoader from gui.prb_control.settings import PREBATTLE_ACTION_NAME dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doSelectAction(PrebattleAction(PREBATTLE_ACTION_NAME.RANDOM_QUEUE)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def _updateSelection(self): prbDispatcher = g_prbLoader.getDispatcher() if prbDispatcher: state = prbDispatcher.getFunctionalState() selected = battle_selector_items.getItems().update(state) for idx, item in enumerate(self.itemList): item.viewModel.setIndex(idx) if item.isSelectable: isSelected = item.modeName == selected.getData() item.viewModel.setIsSelected(isSelected)
def getDisplayableData(self, index, unitMgrID=None): if unitMgrID is not None: unitMgrID = int(unitMgrID) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: entity = dispatcher.getEntity() return vo_converters.getUnitRosterData(entity, unitMgrID, int(index)) else: super(CybersportSlotToolTipData, self).getDisplayableData(index, unitMgrID) return
def getDisplayableData(self, index, unitIdx=None): if unitIdx is not None: unitIdx = int(unitIdx) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: functional = dispatcher.getUnitFunctional() return vo_converters.getUnitRosterData(functional, unitIdx, int(index)) super(CybersportSlotToolTipData, self).getDisplayableData(index, unitIdx)
def showTip(self, id, type): prbDispatcher = g_prbLoader.getDispatcher() if prbDispatcher and prbDispatcher.getFunctionalState().isNavigationDisabled(): return SystemMessages.pushI18nMessage('#system_messages:queue/isInQueue', type=SystemMessages.SM_TYPE.Error) if type == CONDITION_TYPE.CHAIN: event_dispatcher.runTutorialChain(id) elif type == CONDITION_TYPE.TUTORIAL: battle_selector_items.getItems().select(PREBATTLE_ACTION_NAME.BATTLE_TUTORIAL) elif not (type == CONDITION_TYPE.VIDEO and id in (OpenLinkEvent.REPAIRKITHELP_HELP, OpenLinkEvent.MEDKIT_HELP, OpenLinkEvent.FIRE_EXTINGUISHERHELP_HELP)): raise AssertionError self.fireEvent(OpenLinkEvent(id, title=i18n.makeString('#tutorial:tutorialQuest/video/%s' % id)))
def fightSelectClick(self, actionName): if actionName == PREBATTLE_ACTION_NAME.JOIN_RANDOM_QUEUE: LOG_DEBUG('Disabling random battle start on list item click') return else: dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doAction(PrebattleAction(actionName)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def fightSelectClick(self, actionName): if actionName == PREBATTLE_ACTION_NAME.JOIN_RANDOM_QUEUE: LOG_DEBUG('Disabling random battle start on list item click') return else: dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doAction(PrebattleAction(actionName)) else: LOG_ERROR('Prebattle dispatcher is not defined') return
def __preprocessState(self, state, level): config = self._tooltip.context.getStatusConfiguration( self._tooltip.item) preQueue = g_prbLoader.getDispatcher().getPreQueueFunctional() if config.checkNotSuitable and state != Vehicle.VEHICLE_STATE.BATTLE and preQueue.getQueueType( ) == constants.QUEUE_TYPE.HISTORICAL: battle = preQueue.getItemData() if battle is not None: if not battle.canParticipateWith(self._tooltip.item.intCD): return ('notSuitable', Vehicle.VEHICLE_STATE_LEVEL.WARNING) return (state, level)
def alreadyJoined(self): from gui.prb_control.dispatcher import g_prbLoader dispatcher = g_prbLoader.getDispatcher() if dispatcher: prbFunctional = dispatcher.getPrbFunctional() unitFunctional = dispatcher.getUnitFunctional() if self.type in PREBATTLE_TYPE.UNIT_MGR_PREBATTLES and self._isCurrentPrebattle(unitFunctional): return True if self._isCurrentPrebattle(prbFunctional): return True return False
def showTip(self, id, type): prbDispatcher = g_prbLoader.getDispatcher() if prbDispatcher and prbDispatcher.getFunctionalState().isNavigationDisabled(): return SystemMessages.pushI18nMessage('#system_messages:queue/isInQueue', type=SystemMessages.SM_TYPE.Error) if type == CONDITION_TYPE.CHAIN: event_dispatcher.runTutorialChain(id) elif type == CONDITION_TYPE.TUTORIAL: battle_selector_items.getItems().select(PREBATTLE_ACTION_NAME.BATTLE_TUTORIAL) elif not (type == CONDITION_TYPE.VIDEO and id in (OpenLinkEvent.REPAIRKITHELP_HELP, OpenLinkEvent.MEDKIT_HELP, OpenLinkEvent.FIRE_EXTINGUISHERHELP_HELP)): raise AssertionError self.fireEvent(OpenLinkEvent(id, title=i18n.makeString('#tutorial:tutorialQuest/video/%s' % id)))
def handleBattleChosen(self, cmd): dispatcher = g_prbLoader.getDispatcher() def onTimeout(): pushMessage(messages.getJoinFailureMessage(JOIN_FAILURE.TIME_OUT), type=SM_TYPE.Error) dispatcher.restorePrevious() yield dispatcher.create( CreateUnitCtx(PREBATTLE_TYPE.EXTERNAL, waitingID='prebattle/create', onTimeoutCallback=onTimeout))
def triggerEffect(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: state = dispatcher.getFunctionalState() if state.isInPreQueue(QUEUE_TYPE.TUTORIAL): self._doEffect(dispatcher) else: self._doSelect(dispatcher) else: LOG_WARNING("Prebattle dispatcher is not defined") self._tutorial.refuse() return
def triggerEffect(self): descriptor = getBattleDescriptor() if descriptor is not None and descriptor.areAllBonusesReceived(self._bonuses.getCompleted()): self._cache.setPlayerXPLevel(PLAYER_XP_LEVEL.NORMAL) self._cache.setAfterBattle(False).write() dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doLeaveAction(pre_queue_ctx.LeavePreQueueCtx()) else: LOG_WARNING("Prebattle dispatcher is not defined") self._tutorial.refuse() return
def alreadyJoined(self): from gui.prb_control.dispatcher import g_prbLoader dispatcher = g_prbLoader.getDispatcher() if dispatcher: prbFunctional = dispatcher.getPrbFunctional() unitFunctional = dispatcher.getUnitFunctional() if self.type in PREBATTLE_TYPE.UNIT_MGR_PREBATTLES and self._isCurrentPrebattle( unitFunctional): return True if self._isCurrentPrebattle(prbFunctional): return True return False
def triggerEffect(self): descriptor = getBattleDescriptor() if descriptor is not None and descriptor.areAllBonusesReceived(self._bonuses.getCompleted()): self._cache.setPlayerXPLevel(PLAYER_XP_LEVEL.NORMAL) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: dispatcher.doLeaveAction(pre_queue_ctx.LeavePreQueueCtx(flags=FUNCTIONAL_FLAG.BATTLE_TUTORIAL)) else: LOG_WARNING('Prebattle dispatcher is not defined') self._cache.setAfterBattle(False).write() self._tutorial.refuse() return
def tryToConnectFortBattle(battleID, peripheryID): from gui.prb_control.dispatcher import g_prbLoader yield lambda callback: callback(None) if g_lobbyContext.isAnotherPeriphery(peripheryID): if g_lobbyContext.isPeripheryAvailable(peripheryID): result = yield DialogsInterface.showDialog(UnitConfirmDialogMeta(PREBATTLE_TYPE.FORT_BATTLE, 'changePeriphery', messageCtx={'host': g_lobbyContext.getPeripheryName(peripheryID)})) if result: g_prbLoader.getPeripheriesHandler().join(peripheryID, CreateOrJoinFortBattleCtx(battleID, waitingID='fort/fortBattle/createOrJoin')) else: SystemMessages.pushI18nMessage('#system_messages:periphery/errors/isNotAvailable', type=SystemMessages.SM_TYPE.Error) else: yield g_prbLoader.getDispatcher().join(CreateOrJoinFortBattleCtx(battleID, waitingID='fort/fortBattle/createOrJoin'))
def _onLoading(self, *args, **kwargs): super(BattlePassInProgressTooltipView, self)._onLoading(*args, **kwargs) prbDispatcher = g_prbLoader.getDispatcher() if prbDispatcher is None: return else: battleType = self.__battleType or prbDispatcher.getEntity( ).getQueueType() with self.getViewModel().transaction() as model: if self.__battleRoyaleController.isBattleRoyaleMode(): self.__updateBattleRoyalePoints(model) else: items = model.rewardPoints.getItems() arenaBonusType = getSupportedCurrentArenaBonusType( battleType) for points in self.__battlePass.getPerBattlePoints( gameMode=arenaBonusType): item = RewardPointsModel() item.setTopCount(points.label) item.setPointsWin(points.winPoint) item.setPointsLose(points.losePoint) items.addViewModel(item) curLevel = self.__battlePass.getCurrentLevel() chapterID = self.__battlePass.getCurrentChapterID() curPoints, limitPoints = self.__battlePass.getLevelProgression( chapterID) isBattlePassPurchased = self.__battlePass.isBought( chapterID=chapterID) model.setLevel(curLevel) model.setChapter(chapterID) model.setCurrentPoints(curPoints) model.setMaxPoints(limitPoints) model.setIsBattlePassPurchased(isBattlePassPurchased) model.setBattleType(getPreQueueName(battleType).lower()) model.setNotChosenRewardCount( self.__battlePass.getNotChosenRewardCount()) model.setExpireTime( self.__battlePass.getChapterRemainingTime(chapterID)) model.setIsExtra(self.__battlePass.isExtraChapter(chapterID)) model.setFinalReward( self.__battlePass.getRewardType(chapterID).value) timeTillEnd = '' if isSeasonEndingSoon() and not isBattlePassPurchased: timeTillEnd = getFormattedTimeLeft( self.__battlePass.getSeasonTimeLeft()) model.setTimeTillEnd(timeTillEnd) self.__getAwards(chapterID, model.rewardsCommon, curLevel, BattlePassConsts.REWARD_FREE) self.__getAwards(chapterID, model.rewardsElite, curLevel, BattlePassConsts.REWARD_PAID) return
def __get__(self, obj, objType=None): """ Getter for property. Args: obj: decorated object objType: decorated object's class Returns: prebattle dispatcher """ from gui.prb_control.dispatcher import g_prbLoader return g_prbLoader.getDispatcher()
def getTankmanLockMessage(invVehicle): if invVehicle.lock == LOCK_REASON.ON_ARENA: return (True, i18n.makeString('#menu:tankmen/lockReason/inbattle')) if invVehicle.repairCost > 0: return (False, i18n.makeString('#menu:tankmen/lockReason/broken')) if invVehicle.invID == g_currentVehicle.invID: dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: permission = dispatcher.getGUIPermissions() if not permission.canChangeVehicle(): return (True, i18n.makeString('#menu:tankmen/lockReason/prebattle')) return (False, '')
def triggerEffect(self): dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: state = dispatcher.getFunctionalState() if state.isInPreQueue(QUEUE_TYPE.TUTORIAL): self._doEffect(dispatcher) else: self._doSelect(dispatcher) else: LOG_WARNING('Prebattle dispatcher is not defined') self._tutorial.refuse() return
def tryToConnectFortBattle(battleID, peripheryID): from gui.prb_control.dispatcher import g_prbLoader yield lambda callback: callback(None) if g_lobbyContext.isAnotherPeriphery(peripheryID): if g_lobbyContext.isPeripheryAvailable(peripheryID): result = yield DialogsInterface.showDialog(UnitConfirmDialogMeta(PREBATTLE_TYPE.FORT_BATTLE, 'changePeriphery', messageCtx={'host': g_lobbyContext.getPeripheryName(peripheryID)})) if result: g_prbLoader.getPeripheriesHandler().join(peripheryID, CreateOrJoinFortBattleCtx(battleID, waitingID='fort/fortBattle/createOrJoin')) else: SystemMessages.pushI18nMessage('#system_messages:periphery/errors/isNotAvailable', type=SystemMessages.SM_TYPE.Error) else: yield g_prbLoader.getDispatcher().join(CreateOrJoinFortBattleCtx(battleID, waitingID='fort/fortBattle/createOrJoin'))
def triggerEffect(self): descriptor = getBattleDescriptor() if descriptor is not None and descriptor.areAllBonusesReceived( self._bonuses.getCompleted()): self._cache.setPlayerXPLevel(PLAYER_XP_LEVEL.NORMAL) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self._doLeave(dispatcher) else: LOG_WARNING('Prebattle dispatcher is not defined') self._cache.setAfterBattle(False).write() self._tutorial.refuse() return
def getDisplayableData(self, index, unitMgrID=None): if unitMgrID is not None: unitMgrID = int(unitMgrID) dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: entity = dispatcher.getEntity() _, unit = entity.getUnit(unitMgrID) accountDBID = unit.getMembers()[index]['accountDBID'] vehicles = unit.getVehicles()[accountDBID] if vehicles: vehicle = self.itemsCache.items.getItemByCD(vehicles[0].vehTypeCompDescr) return vo_converters.makeVehicleVO(vehicle, entity.getRosterSettings().getLevelsRange()) return super(CybersportSlotSelectedToolTipData, self).getDisplayableData(index, unitMgrID)
def getTankmanLockMessage(invVehicle): if invVehicle.lock == LOCK_REASON.ON_ARENA: return (True, i18n.makeString('#menu:tankmen/lockReason/inbattle')) elif invVehicle.repairCost > 0: return (False, i18n.makeString('#menu:tankmen/lockReason/broken')) else: if invVehicle.invID == g_currentVehicle.invID: dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: permission = dispatcher.getGUIPermissions() if not permission.canChangeVehicle(): return (True, i18n.makeString('#menu:tankmen/lockReason/prebattle')) return (False, '')
def fightClick(self): dispatcher = g_prbLoader.getDispatcher() if not dispatcher: return lobbyContext = dependency.instance(ILobbyContext) navigationPossible = yield lobbyContext.isHeaderNavigationPossible() fightButtonPressPossible = yield lobbyContext.isFightButtonPressPossible( ) if navigationPossible and fightButtonPressPossible: if dispatcher: dispatcher.doAction( PrbAction(PREBATTLE_ACTION_NAME.BATTLE_ROYALE)) else: _logger.error('Prebattle dispatcher is not defined')
def handleBodyButton(self): if self._isMaxLvl: from gui.prb_control.entities.base.ctx import PrbAction from gui.prb_control.dispatcher import g_prbLoader from gui.prb_control.settings import PREBATTLE_ACTION_NAME dispatcher = g_prbLoader.getDispatcher() if dispatcher is not None: self.__doSelect(dispatcher) else: LOG_ERROR('Prebattle dispatcher is not defined') else: from gui.server_events.events_dispatcher import showEventsWindow showEventsWindow(eventType=constants.EVENT_TYPE.BATTLE_QUEST) return