Exemplo n.º 1
0
 def __getPersonalQuestsVO(self, vehicle):
     if not self._lobbyContext.getServerSettings().isPersonalMissionsEnabled():
         return {'personalQuestsLabel': _ms(MENU.hangarHeaderPersonalQuestsLabel(LABEL_STATE.INACTIVE)),
          'personalQuestsIcon': RES_ICONS.vehicleTypeInactiveOutline(vehicle.type),
          'personalQuestsEnable': False,
          'personalQuestsVisible': True,
          'isPersonalReward': False,
          'personalQuestsTooltip': None,
          'personalQuestsTooltipIsSpecial': False}
     else:
         pqState, quest, chain, tile = _findPersonalQuestsState(self._eventsCache, vehicle)
         enable = True
         if pqState & WIDGET_PQ_STATE.AWARD:
             icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_REWARD
             labelState = LABEL_STATE.ACTIVE
             tooltip = makeTooltip(_ms(TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_AWARD_HEADER, tileName=tile.getUserName()), _ms(TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_AWARD_BODY, chainName=_ms(MENU.classesShort(tile.getChainMajorTag(quest.getChainID())))))
         elif pqState & WIDGET_PQ_STATE.IN_PROGRESS:
             icon = RES_ICONS.vehicleTypeOutline(vehicle.type)
             labelState = LABEL_STATE.ACTIVE
             tooltip = TOOLTIPS_CONSTANTS.PERSONAL_QUESTS_PREVIEW
         elif pqState & WIDGET_PQ_STATE.AVAILABLE:
             icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_PLUS
             labelState = LABEL_STATE.EMPTY
             tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_AVAILABLE
         elif pqState & WIDGET_PQ_STATE.COMPLETED:
             icon = RES_ICONS.vehicleTypeOutline(vehicle.type)
             labelState = LABEL_STATE.ALL_DONE
             if pqState & WIDGET_PQ_STATE.UNAVAILABLE:
                 tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_UNAVAILABLE
             else:
                 tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_COMPLETED
         elif pqState & WIDGET_PQ_STATE.DONE:
             icon = RES_ICONS.vehicleTypeInactiveOutline(vehicle.type)
             labelState = LABEL_STATE.INACTIVE
             tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_DONE
             enable = False
         else:
             icon = RES_ICONS.vehicleTypeInactiveOutline(vehicle.type)
             labelState = LABEL_STATE.INACTIVE
             tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_DISABLED
             enable = False
         if all((quest, chain, tile)):
             self._personalQuestID = quest.getID()
             ctx = {'current': quest.getInternalID()}
         else:
             self._personalQuestID = None
             ctx = {'icon': icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_QUESTS_ALL_DONE)}
         return {'personalQuestsLabel': _ms(MENU.hangarHeaderPersonalQuestsLabel(labelState), **ctx),
          'personalQuestsIcon': icon,
          'personalQuestsEnable': enable,
          'personalQuestsVisible': True,
          'isPersonalReward': bool(pqState & WIDGET_PQ_STATE.AWARD),
          'personalQuestsTooltip': tooltip,
          'personalQuestsTooltipIsSpecial': bool(pqState & WIDGET_PQ_STATE.IN_PROGRESS)}
Exemplo n.º 2
0
 def __getPersonalQuestsVO(self, vehicle):
     """ Get part of VO responsible for personal quests flag.
     """
     pqState, quest, chain, tile = _findPersonalQuestsState(self._eventsCache, vehicle)
     if pqState == WIDGET_PQ_STATE.AVAILABLE:
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_PLUS
     elif pqState == WIDGET_PQ_STATE.AWARD:
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_REWARD
     elif pqState in WIDGET_PQ_STATE.UNSUITABLE:
         icon = RES_ICONS.vehicleTypeInactiveOutline(vehicle.type)
     else:
         icon = RES_ICONS.vehicleTypeOutline(vehicle.type)
     if pqState in WIDGET_PQ_STATE.UNSUITABLE:
         labelState = LABEL_STATE.INACTIVE
     elif pqState == WIDGET_PQ_STATE.AVAILABLE:
         labelState = LABEL_STATE.EMPTY
     else:
         labelState = LABEL_STATE.ACTIVE
     ctx = {}
     if all((quest, chain, tile)):
         self._personalQuestID = quest.getID()
         chainType = tile.getChainMajorTag(quest.getChainID())
         ctx.update({'questName': quest.getUserName(),
          'description': quest.getUserMainCondition(),
          'current': len(filter(lambda q: q.isCompleted(), chain.itervalues())),
          'total': len(chain),
          'tileName': tile.getUserName(),
          'chainName': _ms(MENU.classesShort(chainType))})
     else:
         self._personalQuestID = None
     return {'personalQuestsLabel': _ms(MENU.hangarHeaderPersonalQuestsLabel(labelState), **ctx),
      'personalQuestsIcon': icon,
      'personalQuestsTooltip': _getPersonalQuestsTooltip(pqState, **ctx),
      'personalQuestsEnable': pqState not in WIDGET_PQ_STATE.UNSUITABLE}
Exemplo n.º 3
0
 def __getPersonalQuestsVO(self, vehicle):
     """ Get part of VO responsible for personal quests flag.
     """
     pqState, quest, chain, tile = _findPersonalQuestsState(
         self._eventsCache, vehicle)
     if pqState == WIDGET_PQ_STATE.AVAILABLE:
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_PLUS
     elif pqState == WIDGET_PQ_STATE.AWARD:
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_REWARD
     elif pqState in WIDGET_PQ_STATE.UNSUITABLE:
         icon = RES_ICONS.vehicleTypeInactiveOutline(vehicle.type)
     else:
         icon = RES_ICONS.vehicleTypeOutline(vehicle.type)
     if pqState in WIDGET_PQ_STATE.UNSUITABLE:
         labelState = LABEL_STATE.INACTIVE
     elif pqState == WIDGET_PQ_STATE.AVAILABLE:
         labelState = LABEL_STATE.EMPTY
     else:
         labelState = LABEL_STATE.ACTIVE
     ctx = {}
     if all((quest, chain, tile)):
         self._personalQuestID = quest.getID()
         chainType = tile.getChainMajorTag(quest.getChainID())
         ctx.update({
             'questName':
             quest.getUserName(),
             'description':
             '{}\n{}\n\n{}\n{}'.format(
                 text_styles.standard(
                     _ms(QUESTS.QUESTTASKDETAILSVIEW_MAINCONDITIONS)),
                 quest.getUserMainCondition(),
                 text_styles.standard(
                     _ms(QUESTS.QUESTTASKDETAILSVIEW_ADDITIONALCONDITIONS)),
                 quest.getUserAddCondition()),
             'current':
             len(filter(lambda q: q.isCompleted(), chain.itervalues())),
             'total':
             len(chain),
             'tileName':
             tile.getUserName(),
             'chainName':
             _ms(MENU.classesShort(chainType))
         })
     else:
         self._personalQuestID = None
     return {
         'personalQuestsLabel':
         _ms(MENU.hangarHeaderPersonalQuestsLabel(labelState), **ctx),
         'personalQuestsIcon':
         icon,
         'personalQuestsTooltip':
         _getPersonalQuestsTooltip(pqState, **ctx),
         'personalQuestsEnable':
         pqState not in WIDGET_PQ_STATE.UNSUITABLE
     }
Exemplo n.º 4
0
 def __getPersonalQuestsVO(self, vehicle):
     """ Get part of VO responsible for personal quests flag.
     """
     pqState, quest, chain, tile = _findPersonalQuestsState(
         self._eventsCache, vehicle)
     enable = True
     if pqState & WIDGET_PQ_STATE.AWARD:
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_REWARD
         labelState = LABEL_STATE.ACTIVE
         tooltip = makeTooltip(
             _ms(TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_AWARD_HEADER,
                 tileName=tile.getUserName()),
             _ms(TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_AWARD_BODY,
                 chainName=_ms(
                     MENU.classesShort(
                         tile.getChainMajorTag(quest.getChainID())))))
     elif pqState & WIDGET_PQ_STATE.IN_PROGRESS:
         icon = RES_ICONS.vehicleTypeOutline(vehicle.type)
         labelState = LABEL_STATE.ACTIVE
         tooltip = TOOLTIPS_CONSTANTS.PERSONAL_QUESTS_PREVIEW
     elif pqState & WIDGET_PQ_STATE.AVAILABLE:
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_PLUS
         labelState = LABEL_STATE.EMPTY
         tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_AVAILABLE
     elif pqState & WIDGET_PQ_STATE.COMPLETED:
         icon = RES_ICONS.vehicleTypeOutline(vehicle.type)
         labelState = LABEL_STATE.ALL_DONE
         if pqState & WIDGET_PQ_STATE.UNAVAILABLE:
             tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_UNAVAILABLE
         else:
             tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_COMPLETED
     elif pqState & WIDGET_PQ_STATE.DONE:
         icon = RES_ICONS.vehicleTypeInactiveOutline(vehicle.type)
         labelState = LABEL_STATE.INACTIVE
         tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_DONE
         enable = False
     else:
         icon = RES_ICONS.vehicleTypeInactiveOutline(vehicle.type)
         labelState = LABEL_STATE.INACTIVE
         tooltip = TOOLTIPS.HANGAR_HEADER_PERSONALQUESTS_DISABLED
         enable = False
     if all((quest, chain, tile)):
         self._personalQuestID = quest.getID()
         ctx = {
             'current':
             len(filter(lambda q: q.isCompleted(), chain.itervalues())),
             'total':
             len(chain)
         }
     else:
         self._personalQuestID = None
         ctx = {
             'icon':
             icons.makeImageTag(
                 RES_ICONS.MAPS_ICONS_LIBRARY_OUTLINE_QUESTS_ALL_DONE)
         }
     res = {
         'personalQuestsLabel':
         _ms(MENU.hangarHeaderPersonalQuestsLabel(labelState), **ctx),
         'personalQuestsIcon':
         icon,
         'personalQuestsEnable':
         enable,
         'isPersonalReward':
         bool(pqState & WIDGET_PQ_STATE.AWARD),
         'personalQuestsTooltip':
         tooltip,
         'personalQuestsTooltipIsSpecial':
         bool(pqState & WIDGET_PQ_STATE.IN_PROGRESS)
     }
     return res