예제 #1
0
    def _onLoading(self, rewards, tooltips, productCode, *args, **kwargs):
        super(MultipleAwardsView, self)._onLoading(*args, **kwargs)
        self.__tooltipItems = tooltips
        yield lambda callback: callback(True)
        if productCode:
            purchasePackage = yield self.__purchaseCache.requestPurchaseByID(
                productCode)
            if self.__isDestroyed():
                return
            with self.viewModel.transaction() as model:
                productTitle = purchasePackage.getTitleID()
                if productTitle:
                    model.setTitle(
                        backport.text(
                            R.strings.awards.multipleAwards.steam.dyn(
                                productTitle)(),
                            name=purchasePackage.getProductName()))
                productIconID = purchasePackage.getIconID()
                if productIconID:
                    model.setTitleIcon(
                        backport.image(
                            R.images.gui.maps.icons.awards.multipleAwards.
                            title.dyn(productIconID)()))
                self.__setProductTypeData(rewards)
                model.setMainItemsCount(purchasePackage.getMainAmount())
                for vR in rewards:
                    model.rewards.addViewModel(vR)

        switchHangarOverlaySoundFilter(on=True)
예제 #2
0
    def _onLoading(self, *args, **kwargs):
        super(BattlePass3dStyleChoiceView, self)._onLoading(*args, **kwargs)
        self.__addListeners()
        with self.viewModel.transaction() as tx:
            for styleBonus in self.__battlePassController.getStylesConfig():
                tankStyleModel = TankStyleModel()
                styleInfo = getStyleInfo(styleBonus)
                tankStyleModel.setStyleId(styleInfo.id)
                tankStyleModel.setStyleName(styleInfo.userName)
                vehicleCD = getVehicleCDForStyle(styleInfo)
                vehicle = getVehicleByIntCD(vehicleCD)
                fillVehicleInfo(tankStyleModel.vehicleInfo, vehicle)
                tankStyleModel.setIsInHangar(vehicle.isInInventory)
                tankStyleModel.setIsObtained(bool(styleInfo.fullCount()))
                tx.tankStylesList.addViewModel(tankStyleModel)

            currentChapterLevel = self.__battlePassController.getCurrentChapter(
            )
            chosenItems = self.__itemsCache.items.battlePass.getChosenItems()
            if currentChapterLevel not in chosenItems:
                isChoiceEnabled = True
                if chosenItems:
                    chapterLevel = max(chosenItems.keys()) + 1
                else:
                    chapterLevel = BattlePassConsts.MINIMAL_CHAPTER_NUMBER
            else:
                chapterLevel = currentChapterLevel
                isChoiceEnabled = False
            tx.setIsChoiceEnabled(isChoiceEnabled)
            tx.setChapterNumber(chapterLevel)
            tx.setCurrentLevel(
                getCurrentStyleLevel(self.__battlePassController.getSeasonID(),
                                     chapterLevel))
            tx.setSelectedLevel(self.__level)
        switchHangarOverlaySoundFilter(on=True)
예제 #3
0
 def _finalize(self):
     self.__tooltipItems = None
     if self.__onCloseCallback is not None and callable(
             self.__onCloseCallback):
         self.__onCloseCallback()
     switchHangarOverlaySoundFilter(on=False)
     super(DedicationRewardView, self)._finalize()
     return
예제 #4
0
 def _finalize(self):
     super(BattlePassBuyLevelView, self)._finalize()
     self.__clearTooltips()
     self.__tooltipItems = None
     self.__package = None
     self.__backCallback = None
     switchHangarOverlaySoundFilter(on=False)
     return
예제 #5
0
 def _finalize(self):
     self.__removeListeners()
     switchHangarOverlaySoundFilter(on=False)
     if not self.__previewOpened:
         _BPViewStates.reset()
         self.__battlePassController.getRewardLogic().postStateEvent()
     self.__previewOpened = False
     super(BattlePass3dStyleChoiceView, self)._finalize()
예제 #6
0
 def _finalize(self):
     super(BattlePassBuyView, self)._finalize()
     self.__removeListeners()
     self.__selectedPackage = None
     self.__tooltipItems = None
     self.__packages = None
     self.__tooltipWindow = None
     switchHangarOverlaySoundFilter(on=False)
     return
 def _finalize(self):
     super(BattlePassAwardsView, self)._finalize()
     self.__tooltipItems = None
     switchHangarOverlaySoundFilter(on=False)
     if callable(self.__closeCallback):
         self.__closeCallback()
     g_eventBus.handleEvent(events.BattlePassEvent(
         events.BattlePassEvent.AWARD_VIEW_CLOSE),
                            scope=EVENT_BUS_SCOPE.LOBBY)
     return
예제 #8
0
 def _onLoading(self, *args, **kwargs):
     super(BattlePassBuyView, self)._onLoading(*args, **kwargs)
     self.__packages = generatePackages(battlePass=self.__battlePass)
     self.__setGeneralFields()
     self.__setPackages()
     if g_BPBuyViewStates.chapterID != WINDOW_IS_NOT_OPENED:
         self.__choosePackage(
             {'packageID': g_BPBuyViewStates.getPackageID()})
     g_BPBuyViewStates.reset()
     switchHangarOverlaySoundFilter(on=True)
예제 #9
0
 def _finalize(self):
     switchHangarOverlaySoundFilter(on=False)
     self.viewModel.onClose -= self.__onClose
     self.viewModel.showHangar -= self.__handleShowHangar
     self.viewModel.makeChoice -= self.__handleMakeChoice
     self.__tooltipItems = None
     self.__vehicleIntCD = None
     self.__offer = None
     super(MultipleAwardsView, self)._finalize()
     return
예제 #10
0
    def _onLoading(self, *args, **kwargs):
        def _setResults():
            if self.battleResults.areResultsPosted(self.__arenaUniqueID):
                self.__setBattleResults()
            else:
                Waiting.show('stats')
                self.battleResults.onResultPosted += self.__handleBattleResultsPosted

        super(MapsTrainingResult, self)._onLoading(*args, **kwargs)
        switchHangarOverlaySoundFilter(on=True)
        self.mapsTrainingController.requestInitialDataFromServer(_setResults)
예제 #11
0
 def _finalize(self):
     g_eventBus.removeListener(BattlePassEvent.AWARD_VIEW_CLOSE,
                               self.__onAwardViewClose,
                               EVENT_BUS_SCOPE.LOBBY)
     switchHangarOverlaySoundFilter(on=False)
     self.__selectedPackage = None
     self.__tooltipItems = None
     self.__packages = None
     self.__tooltipWindow = None
     super(BattlePassBuyView, self)._finalize()
     return
예제 #12
0
 def _onLoading(self, *args, **kwargs):
     super(BattlePassBuyView, self)._onLoading(*args, **kwargs)
     self.__addListeners()
     self.__notifications.addNotificator(
         PeriodicNotifier(self.__timeTillUnlock, self.__updateUnlockTimes))
     with self.viewModel.transaction() as tx:
         tx.setIsBattlePassBought(self.__battlePassController.isBought())
         tx.setIsWalletAvailable(self.__wallet.isAvailable)
     self.__packages = generatePackages()
     self.__setPackages()
     switchHangarOverlaySoundFilter(on=True)
     self.__notifications.startNotification()
예제 #13
0
 def _onLoading(self, *args, **kwargs):
     super(BattlePassBuyLevelView, self)._onLoading(*args, **kwargs)
     self.__addListeners()
     with self.viewModel.transaction() as tx:
         tx.setIsWalletAvailable(self.__wallet.isAvailable)
         if self.__backCallback:
             backBtnText = backport.text(_rBattlePass.battlePassBuyLevelsView.backBtnText.shop())
         else:
             backBtnText = backport.text(_rBattlePass.battlePassBuyLevelsView.backBtnText.progression())
         tx.confirmAnyNumber.setBackBtnText(backBtnText)
     switchHangarOverlaySoundFilter(on=True)
     self.__showConfirmAny()
예제 #14
0
 def _initialize(self, data, *args, **kwargs):
     super(BattlePassVehicleAwardView, self)._initialize(*args, **kwargs)
     self.viewModel.setVehicleLevelPoints(data.get('vehiclePoints', 0))
     self.viewModel.setBattlePassPointsAward(data.get('bonusPoints', 0))
     vehicle = self.__itemsCache.items.getItemByCD(data.get('vehTypeCompDescr', 0))
     self.viewModel.setIsPremiumVehicle(vehicle.isPremium)
     self.viewModel.setIsEliteVehicle(vehicle.isElite)
     self.viewModel.setVehicleLevel(vehicle.level)
     self.viewModel.setVehicleName(vehicle.userName)
     self.viewModel.setVehicleNation(vehicle.nationName)
     self.viewModel.setVehicleType(vehicle.type)
     self.viewModel.setIsPostProgression(not isCurrentBattlePassStateBase())
     techName = vehicle.name.split(':')
     self.viewModel.setTechName(techName[1])
     switchHangarOverlaySoundFilter(on=True)
     SoundGroups.g_instance.playSound2D(BattlePassSounds.TANK_POINTS_CAP)
예제 #15
0
 def __setMainData(self):
     offerToken = getOfferTokenByGift(self.__battlePassController.getRewardLogic().getNextRewardToChoose())
     self.__offer = self.__offersProvider.getOfferByToken(offerToken)
     offerTokenPrefix, _, level = self.__offer.token.rsplit(':', 2)
     level = int(level)
     self.__rewardType = _OFFER_MAIN_TOKEN_TO_REWARD_TYPE[offerTokenPrefix + ':']
     with self.viewModel.transaction() as model:
         model.setRewardType(backport.text(R.strings.battle_pass.rewardChoice.rewardType.dyn(self.__rewardType.value)()))
         model.setLevel(level)
         chapter = self.__battlePassController.getChapterByLevel(level - 1)
         model.setChapter(backport.text(R.strings.battle_pass.chapter.name.num(chapter)()))
         model.setChapterNumber(chapter)
         model.setSelectedGiftId(-1)
         leftRewardsCount = self.__battlePassController.getRewardLogic().getLeftRewardsCount()
         model.setNotChooseRewardsCount(leftRewardsCount)
         model.setIsOptionsSequence(bool(leftRewardsCount - 1))
         self.__fillRewards(model=model)
     switchHangarOverlaySoundFilter(on=True)
 def _onLoading(self, bonuses, data, *args, **kwargs):
     super(BattlePassAwardsView, self)._onLoading(*args, **kwargs)
     chapterID = data.get('chapter', 0)
     newLevel = data.get('newLevel', 0) or 0
     reason = data.get('reason', BattlePassRewardReason.DEFAULT)
     self.__closeCallback = data.get('callback')
     isFinalReward = self.__battlePass.isFinalLevel(
         chapterID, newLevel) and reason not in (
             BattlePassRewardReason.PURCHASE_BATTLE_PASS,
             BattlePassRewardReason.PURCHASE_BATTLE_PASS_MULTIPLE,
             BattlePassRewardReason.SELECT_REWARD)
     isPurchase = reason in BattlePassRewardReason.PURCHASE_REASONS
     rewardReason = MAP_REWARD_REASON.get(reason, RewardReason.DEFAULT)
     isBattlePassPurchased = self.__battlePass.isBought(
         chapterID=chapterID) or isPurchase
     if chapterID and self.__battlePass.getRewardType(
             chapterID) == FinalReward.STYLE:
         _, styleLevel = getStyleInfoForChapter(
             chapterID) if chapterID else (None, None)
     else:
         styleLevel = None
     with self.viewModel.transaction() as tx:
         tx.setIsFinalReward(isFinalReward)
         tx.setReason(rewardReason)
         tx.setIsBattlePassPurchased(isBattlePassPurchased)
         tx.setCurrentLevel(newLevel)
         tx.setChapterID(chapterID)
         tx.setSeasonStopped(self.__battlePass.isPaused())
         tx.setIsBaseStyleLevel(styleLevel == 1)
         tx.setIsExtra(self.__battlePass.isExtraChapter(chapterID))
         if chapterID:
             tx.setFinalReward(
                 self.__battlePass.getRewardType(chapterID).value)
     self.__setAwards(bonuses, isFinalReward)
     isRewardSelected = reason == BattlePassRewardReason.SELECT_REWARD
     self.viewModel.setIsNeedToShowOffer(not (
         isBattlePassPurchased or self.viewModel.additionalRewards.
         getItemsLength() or isRewardSelected))
     switchHangarOverlaySoundFilter(on=True)
     SoundGroups.g_instance.playSound2D(BattlePassSounds.REWARD_SCREEN)
     return
예제 #17
0
 def _onLoading(self, bonuses, data, *args, **kwargs):
     super(BattlePassAwardsView, self)._onLoading(*args, **kwargs)
     newState = data.get('newState', BattlePassState.BASE)
     prevLevel = data.get('prevLevel', 0)
     newLevel = data.get('newLevel', 0)
     reason = data.get('reason', BattlePassRewardReason.DEFAULT)
     callback = data.get('callback')
     isFinalReward = data.get('isFinalReward', False)
     if callback is not None:
         self.__closeCallback = callback
     if newLevel == 0 and newState == BattlePassState.POST:
         newLevel = self.__battlePassController.getMaxLevel()
     isPurchase = reason in (
         BattlePassRewardReason.PURCHASE_BATTLE_PASS,
         BattlePassRewardReason.PURCHASE_BATTLE_PASS_LEVELS)
     isPostProgression = BattlePassState.BASE != newState and not isFinalReward
     if reason == BattlePassRewardReason.PURCHASE_BATTLE_PASS:
         reasonRewards = self.viewModel.BUY_BATTLE_PASS_REASON
     elif reason == BattlePassRewardReason.PURCHASE_BATTLE_PASS_LEVELS:
         reasonRewards = self.viewModel.BUY_BATTLE_PASS_LEVELS_REASON
     else:
         reasonRewards = self.viewModel.DEFAULT_REASON
     self.viewModel.setIsFinalReward(isFinalReward)
     self.viewModel.setIsPostProgression(isPostProgression)
     self.viewModel.setReason(reasonRewards)
     self.viewModel.setIsBattlePassPurchased(
         self.__battlePassController.isBought() or isPurchase)
     self.viewModel.setPreviousLevel(prevLevel + 1)
     self.viewModel.setCurrentLevel(newLevel)
     self.viewModel.setMaxLevelBase(
         self.__battlePassController.getMaxLevel())
     self.viewModel.setMaxLevelPost(
         self.__battlePassController.getMaxLevel(False))
     if isPostProgression:
         self.__addBadgeInfo()
     self.__setAwards(bonuses, isPurchase, isFinalReward, isPostProgression)
     self.__addListeners()
     switchHangarOverlaySoundFilter(on=True)
     SoundGroups.g_instance.playSound2D(BattlePassSounds.REWARD_SCREEN)
     return
예제 #18
0
 def _onLoading(self, bonuses, data, *args, **kwargs):
     super(BattlePassAwardsView, self)._onLoading(*args, **kwargs)
     prevLevel = data.get('prevLevel', 0)
     prevChapter = self.__battlePassController.getChapterByLevel(prevLevel)
     newLevel = data.get('newLevel', 0)
     reason = data.get('reason', BattlePassRewardReason.DEFAULT)
     isFinalReward = self.__battlePassController.isFinalLevel(
         newLevel) and reason not in (
             BattlePassRewardReason.PURCHASE_BATTLE_PASS,
             BattlePassRewardReason.PURCHASE_BATTLE_PASS_MULTIPLE)
     self.__closeCallback = data.get('callback')
     isPurchase = reason in BattlePassRewardReason.PURCHASE_REASONS
     if reason in MAP_REWARD_REASON:
         reasonRewards = MAP_REWARD_REASON[reason]
     else:
         reasonRewards = self.viewModel.DEFAULT_REASON
     isBattlePassPurchased = self.__battlePassController.isBought(
         chapter=prevChapter) or isPurchase
     styleCD, level = getStyleInfoForChapter(prevChapter)
     self.viewModel.setIsFinalReward(isFinalReward)
     self.viewModel.setReason(reasonRewards)
     self.viewModel.setIsBattlePassPurchased(isBattlePassPurchased)
     self.viewModel.setIsNeedToShowOffer(not isBattlePassPurchased)
     self.viewModel.setPreviousLevel(prevLevel + 1)
     self.viewModel.setCurrentLevel(newLevel)
     self.viewModel.setIsBaseLevelStyle(True if level == 1 else False)
     self.viewModel.setChapterNumber(prevChapter)
     self.viewModel.setSeasonStopped(self.__battlePassController.isPaused())
     chapterTextKey = R.strings.battle_pass.chapter.name.num(prevChapter)
     if chapterTextKey.exists():
         self.viewModel.setChapter(backport.text(chapterTextKey()))
     self.viewModel.setIsStyleChosen(styleCD is not None)
     self.__setAwards(bonuses, isFinalReward)
     self.__addListeners()
     switchHangarOverlaySoundFilter(on=True)
     SoundGroups.g_instance.playSound2D(BattlePassSounds.REWARD_SCREEN)
     return
예제 #19
0
 def _initialize(self, *args, **kwargs):
     super(RewardsSelectionView, self)._initialize(*args, **kwargs)
     self._epicController.onUpdated += self._onEpicUpdate
     switchHangarOverlaySoundFilter(on=True)
예제 #20
0
 def _onLoading(self, bonuses, data, *args, **kwargs):
     switchHangarOverlaySoundFilter(on=True)
     self._setAwards(bonuses, data)
 def _finalize(self):
     super(BattlePassVotingConfirmView, self)._finalize()
     self.__battlePassController.onBattlePassSettingsChange -= self.__onSettingsChange
     switchHangarOverlaySoundFilter(on=False)
예제 #22
0
 def onClose(self):
     self.destroy()
     switchHangarOverlaySoundFilter(on=False)
예제 #23
0
 def _populate(self):
     super(EventProgressionBuyConfirmView, self)._populate()
     self.setData()
     switchHangarOverlaySoundFilter(on=True)
예제 #24
0
 def _finalize(self):
     super(BattlePassVehicleAwardView, self)._finalize()
     switchHangarOverlaySoundFilter(on=False)
 def _onLoading(self, highlightedComponentId=-1, makeTopView=False):
     _logger.debug('DogTags::_onLoading')
     self.__update(highlightedComponentId)
     switchHangarOverlaySoundFilter(on=True)
     WWISE.WW_setState(SOUNDS.STATE_PLACE, SOUNDS.STATE_PLACE_DOG_TAGS)
     self.viewModel.setIsTopView(makeTopView)
 def _dispose(self):
     super(BattlePassBrowserView, self)._dispose()
     self.__battlePassController.onBattlePassSettingsChange -= self.__onSettingsChange
     switchHangarOverlaySoundFilter(on=False)
 def _populate(self):
     super(BattlePassBrowserView, self)._populate()
     self.__battlePassController.onBattlePassSettingsChange += self.__onSettingsChange
     switchHangarOverlaySoundFilter(on=True)
예제 #28
0
 def _finalize(self):
     self.__removeListeners()
     switchHangarOverlaySoundFilter(on=False)
     super(MapsTrainingResult, self)._finalize()
 def _soundsOnExit():
     switchHangarOverlaySoundFilter(on=False)
     WWISE.WW_eventGlobal(backport.sound(R.sounds.dt_customisation_exit()))
     WWISE.WW_eventGlobal(backport.sound(R.sounds.dt_flame_stop()))
예제 #30
0
 def _finalize(self):
     self.__safeCall(self.__onCloseCallback)
     switchHangarOverlaySoundFilter(on=False)
     self._epicController.onUpdated -= self._onEpicUpdate
     self.viewModel.onLoadedView -= self.__onViewLoaded
     super(RewardsSelectionView, self)._finalize()