Esempio n. 1
0
 def _onEntered(self):
     machine = self.getMachine()
     if machine is None:
         return
     else:
         rewards, data = machine.getRewardsData()
         if rewards is None:
             machine.clearSelf()
             machine.post(StateEvent())
             return
         if data is None:
             data = {'reason': BattlePassRewardReason.PURCHASE_BATTLE_PASS_LEVELS,
              'prevLevel': self.__battlePass.getCurrentLevel()}
         data['callback'] = partial(machine.post, StateEvent())
         chapter = machine.getChosenStyleChapter()
         _, level = getStyleInfoForChapter(chapter)
         chosenStyleLevel = level
         if chapter is None:
             chapter = self.__battlePass.getChapterByLevel(data['prevLevel'])
             if 'newLevel' in data:
                 newLevel = data['newLevel'] + 1
                 if chosenStyleLevel is None and newLevel > self.__battlePass.getChapterLevelInterval(chapter)[1]:
                     level = self.__battlePass.getChapterStyleProgress(chapter)
         if level is not None:
             styleToken = get3DStyleProgressToken(self.__battlePass.getSeasonID(), chapter, level)
             rewards.append(packToken(styleToken))
             if chosenStyleLevel is not None:
                 machine.clearChosenStyle()
         if not rewards:
             machine.clearSelf()
             machine.post(StateEvent())
             return
         showBattlePassAwardsWindow(rewards, data)
         return
Esempio n. 2
0
 def _onEntered(self):
     machine = self.getMachine()
     if machine is None:
         return
     else:
         chapter = machine.getChosenStyleChapter()
         _, machineData = machine.getRewardsData()
         if machineData is not None:
             oldLevel = machineData['prevLevel']
             newLevel = machineData['newLevel']
             oldChapter = self.__battlePass.getChapterByLevel(oldLevel)
             newChapter = self.__battlePass.getChapterByLevel(newLevel)
             isMaxLevel = newLevel == self.__battlePass.getMaxLevel()
             if chapter >= oldChapter and (oldChapter != newChapter or isMaxLevel):
                 machine.post(StateEvent())
                 return
         chapter = machine.getChosenStyleChapter()
         _, level = getStyleInfoForChapter(chapter)
         if level is None:
             machine.post(StateEvent())
             return
         prevLevel, _ = self.__battlePass.getChapterLevelInterval(chapter)
         data = {'reason': BattlePassRewardReason.SELECT_STYLE,
          'prevLevel': prevLevel,
          'callback': partial(machine.post, StateEvent())}
         styleToken = get3DStyleProgressToken(self.__battlePass.getSeasonID(), chapter, level)
         rewards = packToken(styleToken)
         machine.clearChosenStyle()
         showBattlePassAwardsWindow([rewards], data)
         return
Esempio n. 3
0
 def _onEntered(self):
     machine = self.getMachine()
     if machine is None:
         return
     else:
         chapterID = machine.getChosenStyleChapter()
         _, level = getStyleInfoForChapter(chapterID)
         style = getStyleForChapter(chapterID)
         if style is not None and style.getProgressionLevel(
         ) == style.getMaxProgressionLevel():
             machine.post(StateEvent())
             return
         prevLevel, _ = self.__battlePass.getChapterLevelInterval(chapterID)
         data = {
             'reason': BattlePassRewardReason.STYLE_UPGRADE,
             'chapter': chapterID,
             'prevLevel': prevLevel,
             'callback': partial(machine.post, StateEvent())
         }
         styleToken = get3DStyleProgressToken(
             self.__battlePass.getSeasonID(), chapterID, level)
         rewards = packToken(styleToken)
         machine.clearChapterStyle()
         showBattlePassAwardsWindow([rewards], data)
         return
Esempio n. 4
0
 def _onEntered(self):
     machine = self.getMachine()
     if machine is None:
         return
     else:
         rewards, data = machine.getRewardsData()
         if rewards is None:
             machine.clearSelf()
             machine.post(StateEvent())
             return
         if data is None:
             data = {
                 'reason':
                 BattlePassRewardReason.PURCHASE_BATTLE_PASS_LEVELS
             }
         data['callback'] = partial(self.__onAwardClose,
                                    data.get('chapter'), data.get('reason'))
         chapter = machine.getChosenStyleChapter()
         if chapter is not None:
             _, level = getStyleInfoForChapter(chapter)
             styleToken = get3DStyleProgressToken(
                 self.__battlePass.getSeasonID(), chapter, level)
             rewards.append(packToken(styleToken))
             machine.clearChapterStyle()
         if not rewards:
             machine.clearSelf()
             machine.post(StateEvent())
             return
         showBattlePassAwardsWindow(rewards, data)
         return
Esempio n. 5
0
 def removeRewardToChoose(self, tokenID, isTaken):
     if isTaken:
         if tokenID in self.__rewardsToChoose:
             self.__rewardsToChoose.remove(tokenID)
     else:
         if self.__rewards is None:
             self.__rewards = []
         if not self.__manualFlow:
             self.__rewards.append(packToken(tokenID))
         self.__rewardsToChoose.remove(tokenID)
     return