def __init__(self, path, data):
     super(Token, self).__init__('token', dict(data), path)
     self._id = _getNodeValue(self._data, 'id')
     self._consumable = 'consume' in self._data
     self._relation = _findRelation(self._data.keys())
     self._relationValue = int(_getNodeValue(self._data, self._relation, 0))
     self._complex = formatters.parseComplexToken(self._id)
    def _format(self, bonus):
        result = []
        for tokenID, token in bonus.getTokens().iteritems():
            complexToken = parseComplexToken(tokenID)
            if complexToken.isDisplayable:
                userName = i18n.makeString(self._getUserName(complexToken.styleID))
                tooltip = makeTooltip(i18n.makeString(TOOLTIPS.QUESTS_BONUSES_TOKEN_HEADER, userName=userName), i18n.makeString(TOOLTIPS.QUESTS_BONUSES_TOKEN_BODY))
                result.append(PreformattedBonus(images=self.__getTokenImages(complexToken.styleID), label=_formatCountLabel(token.count), userName=self._getUserName(tokenID), labelFormatter=self._getLabelFormatter(bonus), tooltip=tooltip, align=LABEL_ALIGN.RIGHT, isCompensation=self._isCompensation(bonus)))

        return result
Exemple #3
0
    def formatValue(self):
        result = []
        for tokenID, _ in self._value.iteritems():
            complexToken = parseComplexToken(tokenID)
            if complexToken.isDisplayable:
                userName = self._getUserName(complexToken.styleID)
                result.append(
                    i18n.makeString(TOOLTIPS.MISSIONS_TOKEN_HEADER,
                                    name=userName))

        return ', '.join(result) if result else None
    def _pack(cls, bonus):
        bonusTokens = bonus.getTokens()
        result = []
        bonusPackers = cls.__getTokenBonusPackers()
        for tokenID, token in bonusTokens.iteritems():
            complexToken = parseComplexToken(tokenID)
            tokenType = cls.__getTokenBonusType(tokenID, complexToken)
            specialPacker = bonusPackers.get(tokenType)
            if specialPacker is None:
                continue
            packedBonus = cls.__packToken(specialPacker, bonus, complexToken,
                                          token)
            if packedBonus is not None:
                result.append(packedBonus)

        return result
Exemple #5
0
    def _getToolTip(cls, bonus):
        bonusTokens = bonus.getTokens()
        tooltipPackers = cls._getTooltipsPackers()
        result = []
        for tokenID, _ in bonusTokens.iteritems():
            complexToken = parseComplexToken(tokenID)
            tokenType = cls._getTokenBonusType(tokenID, complexToken)
            tooltipDataPacker = tooltipPackers.get(tokenType)
            if tooltipDataPacker is None:
                _logger.warning(
                    'There is not a tooltip creator for a token bonus %s',
                    tokenType)
                continue
            result.append(tooltipDataPacker(tokenID, complexToken))

        return result