Пример #1
0
def needToShowCounter(vehicle):
    showCounter = False
    if vehicle.xp > 0 and vehicle.postProgressionAvailability(unlockOnly=True).result:
        purchasableStep = vehicle.postProgression.getFirstPurchasableStep(ExtendedMoney(xp=vehicle.xp))
        if purchasableStep is not None:
            lastSeenSteps = AccountSettings.getCounters(VPP_ENTRY_POINT_LAST_SEEN_STEP)
            showCounter = lastSeenSteps.get(vehicle.intCD, None) != purchasableStep.stepID
    return showCounter
 def __init__(self, descriptor, progression):
     limits = descriptor.vehicleFilter
     self.__action = getActionModel(descriptor.id, descriptor.action,
                                    progression)
     self.__descriptor = descriptor
     self.__isRestricted = limits is not None and not limits.checkCompatibilityWithVehType(
         progression.getVehType())
     self.__price = ExtendedMoney(**getPostProgressionPrice(
         descriptor.priceTag, progression.getVehType()))
     self.__state = self.__getState(
         progression.getState(implicitCopy=False))
     return
Пример #3
0
 def __applyDynamicSlotCategory(self, vehicleType):
     items = self.__itemsCache.items
     dynamicSlotID = items.inventory.getDynSlotTypeID(
         vehicleType.compactDescr)
     if dynamicSlotID > 0:
         self._price = ExtendedMoney(
             **items.shop.customRoleSlotChangeCost(vehicleType, isRaw=True))
         self._state = PostProgressionActionState.CHANGEABLE
         self.__slotCategory = first(vehicles.g_cache.supplySlots().
                                     slotDescrs[dynamicSlotID].categories)
     else:
         self.__slotCategory = SlotCategories.UNIVERSAL
Пример #4
0
 def __fillModifications(self, parentStepID, descriptor, progression):
     self.__idToIdx = {}
     self.__modifications = []
     for idx, (modDesc, priceTag) in enumerate(
             vehicles.g_cache.postProgression().getChildActions(
                 descriptor)):
         self.__modifications.append(
             SimpleModItem(
                 parentStepID, modDesc, progression,
                 ExtendedMoney(**getPostProgressionPrice(
                     priceTag, progression.getVehType()))))
         self.__idToIdx[modDesc.id] = idx
 def __getVehPostProgressionData(self, vehicle):
     isHintEnabled = False
     isAvailable = vehicle.postProgressionAvailability(
         unlockOnly=True).result
     if vehicle.xp > 0 and isAvailable:
         purchasableStep = vehicle.postProgression.getFirstPurchasableStep(
             ExtendedMoney(xp=vehicle.xp))
         if purchasableStep is not None:
             isHintEnabled = purchasableStep.stepID == vehicle.postProgression.getRawTree(
             ).rootStep
     tutorialStorage = getTutorialGlobalStorage()
     if tutorialStorage is not None:
         tutorialStorage.setValue(
             GLOBAL_FLAG.VEH_POST_PROGRESSION_PURCHASABLE, isHintEnabled)
     return {
         'showCounter': needToShowCounter(vehicle),
         'btnEnabled': isAvailable,
         'btnVisible': vehicle.isPostProgressionExists
     }
Пример #6
0
 def getMoneyExt(self, vehCD):
     vehicleXP = self.vehiclesXPs.get(vehCD, 0)
     return ExtendedMoney(xp=(self.freeXP + vehicleXP),
                          vehXP=vehicleXP,
                          freeXP=self.freeXP,
                          **self.money.toDict())
Пример #7
0
 def __updateLastSeenModification(self):
     purchasableStep = self._vehicle.postProgression.getFirstPurchasableStep(
         ExtendedMoney(xp=self._vehicle.xp))
     if purchasableStep is not None:
         storeLastSeenStep(self._vehicle.intCD, purchasableStep.stepID)
     return