Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
 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
Exemplo n.º 6
0
 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()
Exemplo n.º 7
0
 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
Exemplo n.º 8
0
 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()
Exemplo n.º 9
0
 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
Exemplo n.º 10
0
 def select(self):
     dispatcher = g_prbLoader.getDispatcher()
     if dispatcher is not None:
         self._doSelect(dispatcher)
     else:
         LOG_ERROR('Prebattle dispatcher is not defined')
     return
Exemplo n.º 11
0
 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
Exemplo n.º 12
0
 def triggerEffect(self):
     dispatcher = g_prbLoader.getDispatcher()
     if dispatcher is not None:
         self._doEffect(dispatcher)
     else:
         LOG_WARNING('Prebattle dispatcher is not defined')
     return
Exemplo n.º 13
0
 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
Exemplo n.º 14
0
 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
Exemplo n.º 15
0
 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
Exemplo n.º 16
0
 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()
Exemplo n.º 17
0
 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)
Exemplo n.º 18
0
 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
Exemplo n.º 19
0
 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)
Exemplo n.º 20
0
 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
Exemplo n.º 22
0
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)
Exemplo n.º 23
0
 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)
Exemplo n.º 24
0
 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
Exemplo n.º 26
0
 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
Exemplo n.º 28
0
 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
Exemplo n.º 29
0
 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
Exemplo n.º 30
0
 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
Exemplo n.º 31
0
 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
Exemplo n.º 32
0
 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
Exemplo n.º 33
0
 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
Exemplo n.º 34
0
 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
Exemplo n.º 36
0
 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)
Exemplo n.º 37
0
 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)))
Exemplo n.º 38
0
 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
Exemplo n.º 39
0
 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
Exemplo n.º 40
0
 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)
Exemplo n.º 41
0
 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)))
Exemplo n.º 43
0
    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))
Exemplo n.º 44
0
 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
Exemplo n.º 45
0
 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
Exemplo n.º 46
0
 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
Exemplo n.º 47
0
 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
Exemplo n.º 48
0
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
Exemplo n.º 50
0
 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()
Exemplo n.º 51
0
 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, '')
Exemplo n.º 52
0
 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
Exemplo n.º 53
0
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'))
Exemplo n.º 54
0
 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)
Exemplo n.º 56
0
 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, '')
Exemplo n.º 57
0
 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')
Exemplo n.º 58
0
 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