def handleNextButton(self): bonuses = self._quest.getBonuses('tokens') hasCommander = False offerID = None for bonus in bonuses: for tID in bonus.getTokens(): if getRecruitInfo(tID) is not None: hasCommander = True break if tID.startswith(OFFER_TOKEN_PREFIX): for offer in self._offersProvider.getAvailableOffers( onlyVisible=True): if offer.token == tID: offerID = offer.id if hasCommander: g_eventBus.handleEvent(events.LoadViewEvent( SFViewLoadParams(VIEW_ALIAS.LOBBY_BARRACKS), ctx={ 'location': BARRACKS_CONSTANTS.LOCATION_FILTER_NOT_RECRUITED }), scope=EVENT_BUS_SCOPE.LOBBY) elif offerID is not None: showOfferGiftsWindow(offerID) return
def getTankmanInfo(bonus): if bonus is None: return elif bonus.getName() != _TANKMAN_BONUS_NAME: return else: tmanToken = first(bonus.getValue().keys()) return None if tmanToken is None else getRecruitInfo(tmanToken)
def getText(cls, item): for tokenID in item.getTokens().iterkeys(): if tokenID.startswith(RECRUIT_TMAN_TOKEN_PREFIX): recruitInfo = getRecruitInfo(tokenID) if recruitInfo is not None: return backport.text(R.strings.battle_pass.universalTankmanBonus(), name=recruitInfo.getFullUserName()) return ''
def _packTmanTemplateToken(cls, tokenID, bonus): model = super(NewYearTmanTemplateBonusPacker, cls)._packTmanTemplateToken(tokenID, bonus) recSourceID = getRecruitInfo(tokenID).getSourceID() if recSourceID.startswith('ny22men'): model.setIcon(recSourceID) tokenRecord = bonus.getTokens()[tokenID] if tokenRecord.count > 1: model.setValue(str(tokenRecord.count)) return model
def showRecruitWindow(recruitID, eventsCache=None): recruitData = recruit_helper.getRecruitInfo(recruitID) if recruitData.getSourceID() == recruit_helper.RecruitSourceID.TANKWOMAN: quest = eventsCache.getPersonalMissions().getAllQuests()[int(recruitID)] bonus = quest.getTankmanBonus() needToGetTankman = quest.needToGetAddReward() and not bonus.isMain or quest.needToGetMainReward() and bonus.isMain if needToGetTankman and bonus.tankman is not None: showTankwomanAward(quest.getID(), first(bonus.tankman.getTankmenData())) else: g_eventBus.handleEvent(events.LoadViewEvent(VIEW_ALIAS.TOKEN_RECRUIT_WINDOW, ctx={'tokenName': recruitID, 'tokenData': recruitData}), EVENT_BUS_SCOPE.LOBBY) return
def _showAward(self, ctx): messageData = ctx[1].data if 'data' in messageData: data = messageData['data'] else: data = messageData tokensDict = data.get('tokens', {}) for tokenName in tokensDict: recruitInfo = recruit_helper.getRecruitInfo(tokenName) if recruitInfo is not None: self._showWindow(recruitInfo.getLabel()) return return
def checkAndFillTokens(bonus, alwaysVisibleBonuses, bonuses): hasTman = False for tokenBonus in bonus: allTokens = tokenBonus.getTokens() for tID, _ in allTokens.iteritems(): if getRecruitInfo(tID): hasTman = True break if hasTman: alwaysVisibleBonuses.append(tokenBonus) bonuses.append(tokenBonus) return hasTman
def __packTmanTemplateToken(cls, tokenID, bonus): recruitInfo = getRecruitInfo(tokenID) if recruitInfo is None: return else: if recruitInfo.isFemale(): bonusImageName = 'tankwoman' else: bonusImageName = 'tankman' model = ExtendedIconBonusModel() cls._packCommon(bonus, model) model.setIcon(bonusImageName) model.setUserName(recruitInfo.getFullUserName()) cls._injectAwardID(model) return model
def __packTmanTemplateToken(cls, tokenID, bonus): recruitInfo = getRecruitInfo(tokenID) if recruitInfo is None: return else: if recruitInfo.isFemale(): bonusImageName = 'tankwoman' else: bonusImageName = 'tankman' model = RewardItemModel() cls._packCommon(bonus, model) model.setIcon(bonusImageName) model.setUserName(recruitInfo.getFullUserName()) model.setBigIcon('_'.join([bonusImageName, recruitInfo.getGroupName()])) cls._injectAwardID(model, recruitInfo.getGroupName()) return model
def buildItem(self, recruitID): return recruit_helper.getRecruitInfo(recruitID)
def _tankManTokenValidator(tokenID): return getRecruitInfo(tokenID) is not None
def getTankmanInfo(self): tankmanToken = self.getTankmanToken() return getRecruitInfo( tankmanToken) if tankmanToken is not None else None