Ejemplo n.º 1
0
    def construct(self):
        block = []
        if self.configuration.params:
            bottom = 8
            bottomPadding = formatters.packPadding(bottom=bottom)
            shell = self.shell
            comparator = params_helper.shellOnVehicleComparator(
                shell, self.configuration.vehicle)
            isDistanceDependent = self._params.pop(
                'piercingPowerTable') is not None
            formattedParameters = params_formatters.getFormattedParamsList(
                shell.descriptor, self._params)
            block.append(
                formatters.packTitleDescBlock(title=text_styles.middleTitle(
                    _ms(TOOLTIPS.TANKCARUSEL_MAINPROPERTY)),
                                              padding=bottomPadding))
            for paramName, paramValue in formattedParameters:
                if paramName == ModuleTooltipBlockConstructor.CALIBER:
                    continue
                if comparator is not None:
                    paramValue = params_formatters.colorizedFormatParameter(
                        comparator.getExtendedData(paramName),
                        params_formatters.BASE_SCHEME)
                if paramValue is not None:
                    paramUnits = _ms(
                        params_formatters.measureUnitsForParameter(paramName))
                    isPiercingPower = paramName == 'avgPiercingPower'
                    paramUnits += _ASTERISK if isPiercingPower and not isDistanceDependent else ''
                    block.append(
                        self._packParameterBlock(
                            backport.text(
                                R.strings.menu.moduleInfo.params.dyn(paramName)
                                ()), paramValue, paramUnits))

        return block
Ejemplo n.º 2
0
    def construct(self):
        block = []
        if self.configuration.params:
            comparator = params_helper.shellOnVehicleComparator(
                self.shell, self.configuration.vehicle)
            stockParams = params_helper.getParameters(
                self.itemsCache.items.getStockVehicle(
                    self.configuration.vehicle.intCD))
            for parameter in params_formatters.getRelativeDiffParams(
                    comparator):
                delta = parameter.state[1]
                value = parameter.value
                if delta > 0:
                    value -= delta
                block.append(
                    formatters.packStatusDeltaBlockData(
                        title=text_styles.middleTitle(
                            MENU.tank_params(parameter.name)),
                        valueStr=params_formatters.simplifiedDeltaParameter(
                            parameter),
                        statusBarData={
                            'value': value,
                            'delta': delta,
                            'minValue': 0,
                            'markerValue':
                            stockParams.get(parameter.name, value),
                            'maxValue': max(MAX_RELATIVE_VALUE, value + delta),
                            'useAnim': False
                        },
                        padding=formatters.packPadding(left=75)))

        return block