def _packBlocks(self, paramName): extendedData = self.context.getComparator().getExtendedData(paramName) self.__paramName = extendedData.name title = text_styles.highTitle(MENU.tank_params(paramName)) if param_formatter.isRelativeParameter(paramName): value = param_formatter.colorizedFormatParameter(extendedData, self.context.formatters) title += ' ' + text_styles.warning(_ms(TOOLTIPS.VEHICLEPARAMS_TITLE_VALUETEMPLATE, value=value)) else: title += ' ' + text_styles.middleTitle(MEASURE_UNITS.get(paramName, '')) desc = _ms(TOOLTIPS.tank_params_desc(paramName)) possibleBonuses = sorted(extendedData.possibleBonuses, _bonusCmp) if possibleBonuses is not None and len(possibleBonuses) > 0: desc += ' ' + _ms(TOOLTIPS.VEHICLEPARAMS_POSSIBLEBONUSES_DESC) desc += '\n' + self.__createBonusesStr(possibleBonuses) blocks = [formatters.packTitleDescBlock(title, text_styles.main(desc))] bonuses = sorted(extendedData.bonuses, _bonusCmp) if bonuses is not None and len(bonuses) > 0: blocks.append(formatters.packTitleDescBlock(text_styles.middleTitle(TOOLTIPS.VEHICLEPARAMS_BONUSES_TITLE), text_styles.main(self.__createBonusesStr(bonuses)))) penalties = extendedData.penalties actualPenalties, nullPenaltyTypes = self.__getNumNotNullPenaltyTankman(penalties) penaltiesLen = len(penalties) numNotNullPenaltyTankman = len(actualPenalties) if numNotNullPenaltyTankman > 0: blocks.append(formatters.packTitleDescBlock(text_styles.critical(TOOLTIPS.VEHICLEPARAMS_PENALTIES_TITLE), text_styles.main(self.__createPenaltiesStr(actualPenalties)))) if penaltiesLen > numNotNullPenaltyTankman: blocks.append(formatters.packImageTextBlockData(self.__createTankmanIsOutStr(nullPenaltyTypes), img=RES_ICONS.MAPS_ICONS_LIBRARY_ATTENTIONICONFILLED, imgPadding=formatters.packPadding(top=2, left=3, right=6))) return blocks
def __createPenaltiesStr(self, penalties): result = [] for tankmanType, value, isOtherVehicle in penalties: if not param_formatter.isRelativeParameter(self.__paramName): valueStr = str( param_formatter.baseFormatParameter( self.__paramName, value)) if value > 0: valueStr = '+' + valueStr valueStr = text_styles.error( _ms(TOOLTIPS.VEHICLEPARAMS_PENALTY_TANKMANLEVEL_VALUE, value=valueStr)) else: valueStr = '' if isOtherVehicle: locKey = TOOLTIPS.VEHICLEPARAMS_PENALTY_TANKMANDIFFERENTVEHICLE_TEMPLATE else: locKey = TOOLTIPS.VEHICLEPARAMS_PENALTY_TANKMANLEVEL_TEMPLATE result.append( text_styles.main( _ms(locKey, tankmanType=_ms(ITEM_TYPES.tankman_roles(tankmanType)), value=valueStr))) return '\n'.join(result)
def _formatValueChange(paramName, value): if not param_formatter.isRelativeParameter(paramName): if isinstance(value, collections.Sized): state = zip([PARAM_STATE.WORSE] * len(value), value) else: state = (PARAM_STATE.WORSE, value) valueStr = param_formatter.formatParameter(paramName, value, state, colorScheme=param_formatter.BASE_SCHEME, formatSettings=param_formatter.DELTA_PARAMS_SETTING, allowSmartRound=False) return valueStr or '' else: return ''
def _packBlocks(self, paramName): blocks = super(BaseVehicleAdvancedParametersTooltipData, self)._packBlocks(paramName) title = text_styles.highTitle(MENU.tank_params(paramName)) title += text_styles.middleTitle(param_formatter.MEASURE_UNITS.get(paramName, '')) desc = text_styles.main(_ms(TOOLTIPS.tank_params_desc(paramName))) if isRelativeParameter(paramName): blocks.append(formatters.packTitleDescBlock(title, desc)) else: blocks.append(formatters.packImageTextBlockData(title, desc, img=param_formatter.getParameterBigIconPath(paramName), imgPadding=formatters.packPadding(top=10, left=1), txtPadding=formatters.packPadding(left=10))) return blocks
def __buildBaseList(self): parameters = params_helper.getParameters(self._cache.item) if parameters is not None: formattedParameters = formatters.getFormattedParamsList(self._cache.item.descriptor, parameters) for paramName, value in formattedParameters: if not formatters.isRelativeParameter(paramName): self._list.append({'titleText': formatters.formatVehicleParamName(paramName), 'valueText': text_styles.stats(value), 'isEnabled': False}) return
def __createPenaltiesStr(self, penalties): result = [] for tankmanType, value, isOtherVehicle in penalties: if not param_formatter.isRelativeParameter(self.__paramName): valueStr = str(param_formatter.baseFormatParameter(self.__paramName, value)) if value > 0: valueStr = '+' + valueStr valueStr = text_styles.error(_ms(TOOLTIPS.VEHICLEPARAMS_PENALTY_TANKMANLEVEL_VALUE, value=valueStr)) else: valueStr = '' if isOtherVehicle: locKey = TOOLTIPS.VEHICLEPARAMS_PENALTY_TANKMANDIFFERENTVEHICLE_TEMPLATE else: locKey = TOOLTIPS.VEHICLEPARAMS_PENALTY_TANKMANLEVEL_TEMPLATE result.append(text_styles.main(_ms(locKey, tankmanType=_ms(ITEM_TYPES.tankman_roles(tankmanType)), value=valueStr))) return '\n'.join(result)
def _packBlocks(self, paramName): extendedData = self.context.getComparator().getExtendedData(paramName) self.__paramName = extendedData.name title = text_styles.highTitle(MENU.tank_params(paramName)) if param_formatter.isRelativeParameter(paramName): value = '' if self.context.showTitleValue: value = param_formatter.colorizedFormatParameter( extendedData, self.context.formatters) title += ' ' + text_styles.warning( _ms(TOOLTIPS.VEHICLEPARAMS_TITLE_VALUETEMPLATE, value=value)) else: title += ' ' + text_styles.middleTitle( MEASURE_UNITS.get(paramName, '')) desc = _ms(TOOLTIPS.tank_params_desc(paramName)) possibleBonuses = sorted(extendedData.possibleBonuses, _bonusCmp) if possibleBonuses is not None and len(possibleBonuses) > 0: desc += ' ' + _ms(TOOLTIPS.VEHICLEPARAMS_POSSIBLEBONUSES_DESC) desc += '\n' + self.__createBonusesStr(possibleBonuses) blocks = [formatters.packTitleDescBlock(title, text_styles.main(desc))] bonuses = sorted(extendedData.bonuses, _bonusCmp) if bonuses is not None and len(bonuses) > 0: blocks.append( formatters.packTitleDescBlock( text_styles.middleTitle( TOOLTIPS.VEHICLEPARAMS_BONUSES_TITLE), text_styles.main(self.__createBonusesStr(bonuses)))) penalties = extendedData.penalties actualPenalties, nullPenaltyTypes = self.__getNumNotNullPenaltyTankman( penalties) penaltiesLen = len(penalties) numNotNullPenaltyTankman = len(actualPenalties) if numNotNullPenaltyTankman > 0: blocks.append( formatters.packTitleDescBlock( text_styles.critical( TOOLTIPS.VEHICLEPARAMS_PENALTIES_TITLE), text_styles.main( self.__createPenaltiesStr(actualPenalties)))) if penaltiesLen > numNotNullPenaltyTankman: blocks.append( formatters.packImageTextBlockData( self.__createTankmanIsOutStr(nullPenaltyTypes), img=RES_ICONS.MAPS_ICONS_LIBRARY_ATTENTIONICONFILLED, imgPadding=formatters.packPadding(top=2, left=3, right=6))) return blocks
def readyForAdvanced(*args, **_): return param_formatter.isRelativeParameter(args[0])