def __setBonuses(self, viewModel): bonusesList = viewModel.getBonuses() bonusesList.clear() for index, bonus in enumerate(self.__bonuses): if bonus.get('imgSource') is not None: bonus['imgSource'] = getAbsoluteUrl(bonus['imgSource']) if bonus.get('label') is not None: bonus['label'] = stripHTMLTags(bonus['label']) presenters = DEF_MODEL_PRESENTERS.copy() presenters[BlueprintsBonusSubtypes. UNIVERSAL_FRAGMENT] = LootRewardDefModelPresenter() modelPresenter = getRewardRendererModelPresenter( bonus, presenters=presenters) rendererModel = modelPresenter.getModel(bonus, index) tooltipId = str(index) bonusModel = SeniorityAwardsBonusRendererModel() bonusModel.setLabelStr(rendererModel.getLabelStr()) bonusModel.setIcon(rendererModel.getIcon()) bonusModel.setTooltipId(tooltipId) bonusModel.setBonusName(rendererModel.getRewardName()) bonusesList.addViewModel(bonusModel) self.__tooltipData[tooltipId] = TooltipData( tooltip=bonus.get('tooltip', None), isSpecial=bonus.get('isSpecial', False), specialAlias=bonus.get('specialAlias', ''), specialArgs=bonus.get('specialArgs', None)) bonusesList.invalidate() return
def __setBonuses(self, bonuses): with self.getViewModel().transaction() as tx: rewardsList = tx.getRewards() rewardsList.clear() lastCongratsIndex = getLastCongratsIndex(bonuses, self.__specialRewardType) for index, reward in enumerate(bonuses): formatter = getRewardRendererModelPresenter(reward) showCongrats = index is lastCongratsIndex rewardRender = formatter.getModel(reward, index, showCongrats=showCongrats, isEpic=self.__isEpicReward()) rewardsList.addViewModel(rewardRender) compensationReason = reward.get('compensationReason', None) ttTarget = compensationReason if compensationReason is not None else reward self.__items[index] = TooltipData( tooltip=ttTarget.get('tooltip', None), isSpecial=ttTarget.get('isSpecial', False), specialAlias=ttTarget.get('specialAlias', ''), specialArgs=ttTarget.get('specialArgs', None)) rewardsList.invalidate() tx.setSpecialRewardType(self.__specialRewardType) return
def __setBonuses(self, bonuses): with self.getViewModel().transaction() as tx: vmRewardsList = tx.getRewards() vmRewardsList.clear() for index, reward in enumerate(bonuses): formatter = getRewardRendererModelPresenter( reward, presenters=RANKED_MODEL_PRESENTERS) showCongrats = False if reward.get('bonusName', '') == 'vehicles': showCongrats = True specialArgs = reward.get('specialArgs', None) if specialArgs: self.__vehicleCD = specialArgs[0] rewardRender = formatter.getModel(reward, index, showCongrats=showCongrats) vmRewardsList.addViewModel(rewardRender) self.__items[index] = TooltipData( tooltip=reward.get('tooltip', None), isSpecial=reward.get('isSpecial', False), specialAlias=reward.get('specialAlias', ''), specialArgs=reward.get('specialArgs', None)) vmRewardsList.invalidate() return
def __setBonuses(self, bonuses): with self.getViewModel().transaction() as tx: if self.__specialRewardType.startswith(EVENT_BADGE_MISSION_ID): title = R.strings.ten_year_countdown.awardView.title.badge() elif self.__specialRewardType.startswith(EVENT_STYLE_MISSION_ID): title = R.strings.ten_year_countdown.awardView.title.style() if IS_CHINA: title = R.strings.ten_year_countdown.awardView.title_CN.style( ) elif self.__specialRewardType.startswith( TEN_YEAR_COUNTDOWN_QUEST_TOKEN_PREFIX ) and self.__specialRewardType.endswith( TEN_YEAR_COUNTDOWN_QUEST_TOKEN_POSTFIX): title = R.strings.ten_year_countdown.awardView.title.token() else: title = R.invalid() tx.setTitle(title) vmRewardsList = tx.getRewards() vmRewardsList.clear() for index, reward in enumerate(bonuses): if self.__specialRewardType.startswith( TEN_YEAR_COUNTDOWN_QUEST_TOKEN_PREFIX ) and self.__specialRewardType.endswith( TEN_YEAR_COUNTDOWN_QUEST_TOKEN_POSTFIX): rewardtype = {'bonusName': 'tokens'} elif self.__specialRewardType.startswith( EVENT_BADGE_MISSION_ID): rewardtype = {'bonusName': 'dossier'} elif self.__specialRewardType.startswith( EVENT_STYLE_MISSION_ID): rewardtype = {'bonusName': 'customizations'} else: continue formatter = getRewardRendererModelPresenter( rewardtype, presenters=TEN_YEARS_MODEL_PRESENTER) showCongrats = self.__specialRewardType.startswith( EVENT_BADGE_MISSION_ID ) or self.__specialRewardType.startswith( EVENT_STYLE_MISSION_ID ) or self.__specialRewardType.startswith( TEN_YEAR_COUNTDOWN_QUEST_TOKEN_PREFIX ) and self.__specialRewardType.endswith( TEN_YEAR_COUNTDOWN_QUEST_TOKEN_POSTFIX) rewardRender = formatter.getModel(reward, index, showCongrats=showCongrats) vmRewardsList.addViewModel(rewardRender) self.__items[index] = TooltipData( tooltip=reward.get('tooltip', None), isSpecial=reward.get('isSpecial', False), specialAlias=reward.get('specialAlias', ''), specialArgs=reward.get('specialArgs', None)) vmRewardsList.invalidate() return
def __setRewards(self, collectionStrID, rewards): rewards = self.__getRewards(rewards) collectionIntID = YEARS_INFO.getCollectionIntID(collectionStrID) with self.getViewModel().transaction() as model: year, collectionName = getCollectionByIntID(collectionIntID) model.setStyleStr('{}_{}'.format(collectionName, year)) model.setIsMega(collectionName == ToySettings.MEGA_TOYS) rewardsList = model.getRewards() rewardsList.clear() for index, reward in enumerate(rewards): incIndex = index + 1 formatter = getRewardRendererModelPresenter(reward) rewardRender = formatter.getModel(reward, incIndex) rewardsList.addViewModel(rewardRender) self.__tooltipData[incIndex] = createTooltipDataByDict(reward) rewardsList.invalidate()
def __setBonuses(self, bonuses): with self.viewModel.transaction() as vm: bonusesList = vm.getBonuses() bonusesList.clear() for index, bonus in enumerate(bonuses): presenters = DEF_MODEL_PRESENTERS.copy() presenters[BlueprintsBonusSubtypes. UNIVERSAL_FRAGMENT] = LootRewardDefModelPresenter() modelPresenter = getRewardRendererModelPresenter( bonus, presenters=presenters) rendererModel = modelPresenter.getModel(bonus, index) bonusesList.addViewModel(rendererModel) self.__tooltipData[index] = TooltipData( tooltip=bonus.get('tooltip', None), isSpecial=bonus.get('isSpecial', False), specialAlias=bonus.get('specialAlias', ''), specialArgs=bonus.get('specialArgs', None)) bonusesList.invalidate() return
def setBonuses(self, bonuses, model, lastCongratsIndex=-1): rewardsList = model.getRewards() rewardsList.clear() for index, reward in enumerate(bonuses): formatter = getRewardRendererModelPresenter(reward) showCongrats = index is lastCongratsIndex rewardRender = formatter.getModel(reward, index, showCongrats=showCongrats) rewardsList.addViewModel(rewardRender) compensationReason = reward.get('compensationReason', None) ttTarget = compensationReason if compensationReason is not None else reward self.__tooltipsData[index] = TooltipData( tooltip=ttTarget.get('tooltip', None), isSpecial=ttTarget.get('isSpecial', False), specialAlias=ttTarget.get('specialAlias', ''), specialArgs=ttTarget.get('specialArgs', None)) rewardsList.invalidate() return
def __setBonuses(self): with self.viewModel.transaction() as vm: bonusesList = vm.getBonuses() bonusesList.clear() currentBonusPosition = self.__bonusesPosition + _BONUSES_STEP currentBonuses = self.__bonuses[ self.__bonusesPosition:currentBonusPosition] for index, bonus in enumerate(currentBonuses): if bonus.get('bonusName') in _UNVISIBLE_BONUSES: continue presenters = DEF_MODEL_PRESENTERS.copy() presenters[BlueprintsBonusSubtypes. UNIVERSAL_FRAGMENT] = LootRewardDefModelPresenter() modelPresenter = getRewardRendererModelPresenter( bonus, presenters=presenters) rendererModel = modelPresenter.getModel(bonus, index) bonusesList.addViewModel(rendererModel) self.__tooltipData[index] = TooltipData( tooltip=bonus.get('tooltip', None), isSpecial=bonus.get('isSpecial', False), specialAlias=bonus.get('specialAlias', ''), specialArgs=bonus.get('specialArgs', None)) self.__bonusesPosition = currentBonusPosition countBonuses = len(self.__bonuses) - currentBonusPosition if countBonuses > 0: countBonuses = countBonuses if countBonuses < _BONUSES_STEP else _BONUSES_STEP vm.setBtnLabel( backport.text( R.strings.seniority_awards.rewardsView.nextBtn(), count=countBonuses)) else: vm.setBtnLabel( backport.text( R.strings.seniority_awards.multiOpenView.applyLabel())) bonusesList.invalidate() return
def getLootboxRendererModelPresenter(reward): return getRewardRendererModelPresenter(reward, None, DEF_COMPENSATION_PRESENTERS)