Пример #1
0
    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
Пример #2
0
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 ''
Пример #4
0
 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
Пример #6
0
    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
Пример #7
0
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
Пример #8
0
 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
Пример #9
0
 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
Пример #10
0
 def buildItem(self, recruitID):
     return recruit_helper.getRecruitInfo(recruitID)
Пример #11
0
def _tankManTokenValidator(tokenID):
    return getRecruitInfo(tokenID) is not None
Пример #12
0
 def getTankmanInfo(self):
     tankmanToken = self.getTankmanToken()
     return getRecruitInfo(
         tankmanToken) if tankmanToken is not None else None