def __setInitialSlotsData(self, iSlotsData): if not self.__processingPurchase: self.__animationStarted = False self.__initialSlotsData = iSlotsData oldBonusData = self.__bonusData self.__bonusData = {} for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys(): self.__bonusData[qTypeName] = { "bonusName": text_styles.main(_ms("#vehicle_customization:bonusName/{0}".format(qTypeName))), "bonusIcon": getBonusIcon42x42(qTypeName), "bonusTotalCount": 0, CUSTOMIZATION_TYPE.CAMOUFLAGE: [], CUSTOMIZATION_TYPE.EMBLEM: [], CUSTOMIZATION_TYPE.INSCRIPTION: [], "oldBonusTotalCount": 0, "bonusAppliedCount": 0, "oldBonusAppliedCount": 0, "bonusTotalDescriptionCount": 0, "bonusAppliedDescriptionCount": 0, } if oldBonusData: self.__bonusData[qTypeName]["oldBonusTotalCount"] = oldBonusData[qTypeName]["bonusTotalCount"] forEachSlotIn(iSlotsData, iSlotsData, self.__getInitialBonusData) self.__saveInitialTooltipData()
def __update(self, updatedSlotsData): for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys(): self.__bonusData[qTypeName]['bonusAppliedCount'] = 0 self.__restoreInitialTooltipData() forEachSlotIn(updatedSlotsData, self.__initialSlotsData, self.__recalculateBonusData) self.__setAnimations() self.__events.onBonusesUpdated(self.__bonusData)
def __update(self, updatedSlotsData): self.__purchaseData = [] sortedContainer = [[], [], []] forEachSlotIn(updatedSlotsData, self.__initialSlotsData, functools.partial(self.__recalculatePurchaseData, sortedContainer)) self.__purchaseData = list(itertools.chain(*sortedContainer)) self.recalculateTotalPrice() self.__events.onCartUpdated(self.__purchaseData) if not self.__totalPriceCredits + self.__totalPriceGold: if self.__isShown: self.__events.onCartEmptied() self.__isShown = False elif not self.__isShown: self.__events.onCartFilled() self.__isShown = True
def __setInitialSlotsData(self, iSlotsData): if not self.__processingPurchase: self.__animationStarted = False self.__initialSlotsData = iSlotsData oldBonusData = self.__bonusData self.__bonusData = {} for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys(): self.__bonusData[qTypeName] = {'bonusName': text_styles.main(_ms('#vehicle_customization:bonusName/{0}'.format(qTypeName))), 'bonusIcon': getBonusIcon42x42(qTypeName), 'bonusTotalCount': 0, CUSTOMIZATION_TYPE.CAMOUFLAGE: [], CUSTOMIZATION_TYPE.EMBLEM: [], CUSTOMIZATION_TYPE.INSCRIPTION: [], 'oldBonusTotalCount': 0, 'bonusAppliedCount': 0, 'oldBonusAppliedCount': 0, 'bonusTotalDescriptionCount': 0, 'bonusAppliedDescriptionCount': 0} if oldBonusData: self.__bonusData[qTypeName]['oldBonusTotalCount'] = oldBonusData[qTypeName]['bonusTotalCount'] forEachSlotIn(iSlotsData, iSlotsData, self.__getInitialBonusData) self.__saveInitialTooltipData()