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.bonusesUpdated(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
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.bonusesUpdated(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] ), }
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 __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
def setInitialSlotsData(self, iSlotsData): if not self.__processingPurchase: self.__animationStarted = False self.__initialSlotsData = iSlotsData self.__bonusData = {} for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys(): self.__bonusData[qTypeName] = {'bonusName': text_styles.main(_getBonusNameByType(qTypeName)), 'bonusIcon': _getBonusIcon42x42ByType(qTypeName), 'bonusTotalCount': 0, CUSTOMIZATION_TYPE.CAMOUFLAGE: [], CUSTOMIZATION_TYPE.EMBLEM: [], CUSTOMIZATION_TYPE.INSCRIPTION: [], 'oldBonusTotalCount': 0, 'bonusAppliedCount': 0, 'oldBonusAppliedCount': 0, 'bonusTotalDescriptionCount': 0, 'bonusAppliedDescriptionCount': 0} forEachSlotIn(iSlotsData, iSlotsData, self.__getInitialBonusData) self.__saveInitialTooltipData()
def setInitialSlotsData(self, iSlotsData): if not self.__processingPurchase: self.__animationStarted = False self.__initialSlotsData = iSlotsData self.__bonusData = {} for qTypeName in QUALIFIER_TYPE_NAMES.iterkeys(): self.__bonusData[qTypeName] = { 'bonusName': text_styles.main(_getBonusNameByType(qTypeName)), 'bonusIcon': _getBonusIcon42x42ByType(qTypeName), 'bonusTotalCount': 0, CUSTOMIZATION_TYPE.CAMOUFLAGE: [], CUSTOMIZATION_TYPE.EMBLEM: [], CUSTOMIZATION_TYPE.INSCRIPTION: [], 'oldBonusTotalCount': 0, 'bonusAppliedCount': 0, 'oldBonusAppliedCount': 0, 'bonusTotalDescriptionCount': 0, 'bonusAppliedDescriptionCount': 0 } forEachSlotIn(iSlotsData, iSlotsData, self.__getInitialBonusData) self.__saveInitialTooltipData()
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
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