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()
Example #2
0
    def __restoreInitialTooltipData(self):
        if self.__initialTooltipData is not None:
            for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys():
                self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.CAMOUFLAGE] = copy.deepcopy(self.__initialTooltipData[qTypeName][CUSTOMIZATION_TYPE.CAMOUFLAGE])
                self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.EMBLEM] = copy.deepcopy(self.__initialTooltipData[qTypeName][CUSTOMIZATION_TYPE.EMBLEM])
                self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.INSCRIPTION] = copy.deepcopy(self.__initialTooltipData[qTypeName][CUSTOMIZATION_TYPE.INSCRIPTION])

        return
Example #3
0
    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 __restoreInitialTooltipData(self):
        if self.__initialTooltipData is not None:
            for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys():
                self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.CAMOUFLAGE] = copy.deepcopy(self.__initialTooltipData[qTypeName][CUSTOMIZATION_TYPE.CAMOUFLAGE])
                self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.EMBLEM] = copy.deepcopy(self.__initialTooltipData[qTypeName][CUSTOMIZATION_TYPE.EMBLEM])
                self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.INSCRIPTION] = copy.deepcopy(self.__initialTooltipData[qTypeName][CUSTOMIZATION_TYPE.INSCRIPTION])

        return
Example #5
0
    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 __saveInitialTooltipData(self):
     self.__initialTooltipData = {}
     for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys():
         self.__initialTooltipData[qTypeName] = {
             CUSTOMIZATION_TYPE.CAMOUFLAGE: copy.deepcopy(
                 self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.CAMOUFLAGE]
             ),
             CUSTOMIZATION_TYPE.EMBLEM: copy.deepcopy(self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.EMBLEM]),
             CUSTOMIZATION_TYPE.INSCRIPTION: copy.deepcopy(
                 self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.INSCRIPTION]
             ),
         }
Example #7
0
 def __saveInitialTooltipData(self):
     self.__initialTooltipData = {}
     for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys():
         self.__initialTooltipData[qTypeName] = {
             CUSTOMIZATION_TYPE.CAMOUFLAGE:
             copy.deepcopy(self.__bonusData[qTypeName][
                 CUSTOMIZATION_TYPE.CAMOUFLAGE]),
             CUSTOMIZATION_TYPE.EMBLEM:
             copy.deepcopy(
                 self.__bonusData[qTypeName][CUSTOMIZATION_TYPE.EMBLEM]),
             CUSTOMIZATION_TYPE.INSCRIPTION:
             copy.deepcopy(self.__bonusData[qTypeName][
                 CUSTOMIZATION_TYPE.INSCRIPTION])
         }
    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()
Example #9
0
    def __setAnimations(self):
        for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys():
            oldBonusAppliedCount = self.__bonusData[qTypeName]['oldBonusAppliedCount']
            appliedBonusValue = self.__bonusData[qTypeName]['bonusAppliedCount']
            oldBonusTotalCount = self.__bonusData[qTypeName]['oldBonusTotalCount']
            bonusTotalCount = self.__bonusData[qTypeName]['bonusTotalCount']
            formattedString = '+{0}%'
            bonusFormatter = text_styles.bonusAppliedText
            color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_GREEN
            additionalValue = ''
            if oldBonusTotalCount != bonusTotalCount:
                if self.__animationStarted:
                    animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.BUY
                else:
                    animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.NONE
                bonusFormatter = text_styles.bonusLocalText
                animationValue = bonusTotalCount
                if appliedBonusValue > 0:
                    additionalValue = text_styles.bonusAppliedText('+{0}%'.format(appliedBonusValue))
                elif appliedBonusValue < 0:
                    additionalValue = text_styles.error('{0}%'.format(appliedBonusValue))
                if self.__bonusData[qTypeName]['bonusTotalDescriptionCount'] != 0:
                    formattedString += '*'
            elif appliedBonusValue == oldBonusAppliedCount:
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.NONE
                bonusFormatter = text_styles.bonusLocalText
                animationValue = bonusTotalCount
                if appliedBonusValue > 0:
                    additionalValue = text_styles.bonusAppliedText('+{0}%'.format(appliedBonusValue))
                elif appliedBonusValue < 0:
                    additionalValue = text_styles.error('{0}%'.format(appliedBonusValue))
                if self.__bonusData[qTypeName]['bonusTotalDescriptionCount'] != 0:
                    formattedString += '*'
            elif appliedBonusValue == 0:
                if oldBonusAppliedCount < 0:
                    formattedString = '{0}%'
                    bonusFormatter = text_styles.error
                    color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_RED
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.RESET
                animationValue = oldBonusAppliedCount
                if self.__bonusData[qTypeName]['bonusAppliedDescriptionCount'] != 0:
                    formattedString += '*'
            else:
                if appliedBonusValue < 0:
                    formattedString = '{0}%'
                    bonusFormatter = text_styles.error
                    color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_RED
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.SET
                animationValue = appliedBonusValue
                if self.__bonusData[qTypeName]['bonusAppliedDescriptionCount'] != 0:
                    formattedString += '*'
            self.__bonusData[qTypeName]['oldBonusAppliedCount'] = appliedBonusValue
            self.__bonusData[qTypeName]['oldBonusTotalCount'] = bonusTotalCount
            self.__bonusData[qTypeName]['animationPanel'] = {'animationType': animationType,
             'install': False,
             'color': color,
             'value1': bonusFormatter(formattedString.format(animationValue)),
             'value2': additionalValue}

        self.__animationStarted = True
        self.__processingPurchase = False
Example #10
0
    def __setAnimations(self):
        for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys():
            oldBonusAppliedCount = self.__bonusData[qTypeName][
                'oldBonusAppliedCount']
            appliedBonusValue = self.__bonusData[qTypeName][
                'bonusAppliedCount']
            oldBonusTotalCount = self.__bonusData[qTypeName][
                'oldBonusTotalCount']
            bonusTotalCount = self.__bonusData[qTypeName]['bonusTotalCount']
            formattedString = '+{0}%'
            bonusFormatter = text_styles.bonusAppliedText
            color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_GREEN
            additionalValue = ''
            if oldBonusTotalCount != bonusTotalCount:
                if self.__animationStarted:
                    animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.BUY
                else:
                    animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.NONE
                bonusFormatter = text_styles.bonusLocalText
                animationValue = bonusTotalCount
                if appliedBonusValue > 0:
                    additionalValue = text_styles.bonusAppliedText(
                        '+{0}%'.format(appliedBonusValue))
                elif appliedBonusValue < 0:
                    additionalValue = text_styles.error(
                        '{0}%'.format(appliedBonusValue))
                if self.__bonusData[qTypeName][
                        'bonusTotalDescriptionCount'] != 0:
                    formattedString += '*'
            elif appliedBonusValue == oldBonusAppliedCount:
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.NONE
                bonusFormatter = text_styles.bonusLocalText
                animationValue = bonusTotalCount
                if appliedBonusValue > 0:
                    additionalValue = text_styles.bonusAppliedText(
                        '+{0}%'.format(appliedBonusValue))
                elif appliedBonusValue < 0:
                    additionalValue = text_styles.error(
                        '{0}%'.format(appliedBonusValue))
                if self.__bonusData[qTypeName][
                        'bonusTotalDescriptionCount'] != 0:
                    formattedString += '*'
            elif appliedBonusValue == 0:
                if oldBonusAppliedCount < 0:
                    formattedString = '{0}%'
                    bonusFormatter = text_styles.error
                    color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_RED
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.RESET
                animationValue = oldBonusAppliedCount
                if self.__bonusData[qTypeName][
                        'bonusAppliedDescriptionCount'] != 0:
                    formattedString += '*'
            else:
                if appliedBonusValue < 0:
                    formattedString = '{0}%'
                    bonusFormatter = text_styles.error
                    color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_RED
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.SET
                animationValue = appliedBonusValue
                if self.__bonusData[qTypeName][
                        'bonusAppliedDescriptionCount'] != 0:
                    formattedString += '*'
            self.__bonusData[qTypeName][
                'oldBonusAppliedCount'] = appliedBonusValue
            self.__bonusData[qTypeName]['oldBonusTotalCount'] = bonusTotalCount
            self.__bonusData[qTypeName]['animationPanel'] = {
                'animationType': animationType,
                'install': False,
                'color': color,
                'value1':
                bonusFormatter(formattedString.format(animationValue)),
                'value2': additionalValue
            }

        self.__animationStarted = True
        self.__processingPurchase = False
    def __setAnimations(self):
        for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys():
            oldBonusAppliedCount = self.__bonusData[qTypeName]["oldBonusAppliedCount"]
            appliedBonusValue = self.__bonusData[qTypeName]["bonusAppliedCount"]
            oldBonusTotalCount = self.__bonusData[qTypeName]["oldBonusTotalCount"]
            bonusTotalCount = self.__bonusData[qTypeName]["bonusTotalCount"]
            formattedString = "+{0}%"
            bonusFormatter = text_styles.bonusAppliedText
            color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_GREEN
            additionalValue = ""
            if oldBonusTotalCount != bonusTotalCount:
                if self.__animationStarted:
                    animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.BUY
                else:
                    animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.NONE
                bonusFormatter = text_styles.bonusLocalText
                animationValue = bonusTotalCount
                if appliedBonusValue > 0:
                    additionalValue = text_styles.bonusAppliedText("+{0}%".format(appliedBonusValue))
                elif appliedBonusValue < 0:
                    additionalValue = text_styles.error("{0}%".format(appliedBonusValue))
                if self.__bonusData[qTypeName]["bonusTotalDescriptionCount"] != 0:
                    formattedString += "*"
            elif appliedBonusValue == oldBonusAppliedCount:
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.NONE
                bonusFormatter = text_styles.bonusLocalText
                animationValue = bonusTotalCount
                if appliedBonusValue > 0:
                    additionalValue = text_styles.bonusAppliedText("+{0}%".format(appliedBonusValue))
                elif appliedBonusValue < 0:
                    additionalValue = text_styles.error("{0}%".format(appliedBonusValue))
                if self.__bonusData[qTypeName]["bonusTotalDescriptionCount"] != 0:
                    formattedString += "*"
            elif appliedBonusValue == 0:
                if oldBonusAppliedCount < 0:
                    formattedString = "{0}%"
                    bonusFormatter = text_styles.error
                    color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_RED
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.RESET
                animationValue = oldBonusAppliedCount
                if self.__bonusData[qTypeName]["bonusAppliedDescriptionCount"] != 0:
                    formattedString += "*"
            else:
                if appliedBonusValue < 0:
                    formattedString = "{0}%"
                    bonusFormatter = text_styles.error
                    color = CUSTOMIZATION_BONUS_ANIMATION_TYPES.COLOR_RED
                animationType = CUSTOMIZATION_BONUS_ANIMATION_TYPES.SET
                animationValue = appliedBonusValue
                if self.__bonusData[qTypeName]["bonusAppliedDescriptionCount"] != 0:
                    formattedString += "*"
            self.__bonusData[qTypeName]["oldBonusAppliedCount"] = appliedBonusValue
            self.__bonusData[qTypeName]["oldBonusTotalCount"] = bonusTotalCount
            self.__bonusData[qTypeName]["animationPanel"] = {
                "animationType": animationType,
                "install": False,
                "color": color,
                "value1": bonusFormatter(formattedString.format(animationValue)),
                "value2": additionalValue,
            }

        self.__animationStarted = True
        self.__processingPurchase = False