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)}
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}
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 }
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