def _prepareData(self, serverList, serverName, serverTimeLeft): if len(serverList) == 1: serversDDEnabled = False else: serversDDEnabled = True applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_APPLYBTN) title = text_styles.epicTitle(RANKED_BATTLES.PRIMETIME_TITLE) if self._isEnabled: timeLeftStr = time_utils.getTillTimeString( serverTimeLeft, MENU.HEADERBUTTONS_BATTLE_TYPES_RANKED_AVAILABILITY) status = text_styles.main( _ms(RANKED_BATTLES.PRIMETIME_STATUS_THISENABLE, server=serverName, time=text_styles.warning(timeLeftStr))) mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_DEFAULT title = text_styles.epicTitle( RANKED_BATTLES.PRIMETIME_TITLEWELCOME) else: applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_CONTINUEBTN) status = '{} {}\n{}'.format( icons.alert(-3), text_styles.alert( RANKED_BATTLES.PRIMETIME_STATUS_DISABLEFIRST), text_styles.main(RANKED_BATTLES.PRIMETIME_STATUS_DISABLE)) mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_BW return { 'title': title, 'apply': applyButtonLabel, 'mainBackground': mainBackground, 'status': status, 'serversDDEnabled': serversDDEnabled, 'serverDDVisible': True }
def __makeGlobalMapBlock(self, globalMapStats, ratings): hasGlobalMap = globalMapStats.hasGlobalMap() if hasGlobalMap: notActual = ratings.getGlobalMapBattlesFor28Days() <= 0 stats = [{'local': 'rageLevel10', 'value': formatField(getter=ratings.getGlobalMapEloRating10, formatter=BigWorld.wg_getIntegralFormat), 'timeExpired': notActual, 'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_10_BODY}, {'local': 'rageLevel8', 'value': formatField(getter=ratings.getGlobalMapEloRating8, formatter=BigWorld.wg_getIntegralFormat), 'timeExpired': notActual, 'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_8_BODY}, {'local': 'rageLevel6', 'value': formatField(getter=ratings.getGlobalMapEloRating6, formatter=BigWorld.wg_getIntegralFormat), 'timeExpired': notActual, 'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_6_BODY}, {'local': 'battlesCount', 'value': formatField(getter=ratings.getGlobalMapBattlesFor28Days, formatter=BigWorld.wg_getIntegralFormat), 'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_BATTLES_COUNT_BODY}, {'local': 'provinces', 'value': formatField(getter=globalMapStats.getCurrentProvincesCount, formatter=BigWorld.wg_getIntegralFormat), 'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_PROVINCE_BODY}] statsBlock = self.__makeStatsBlock(stats) emptyLbl = '' else: statsBlock = () if isValueAvailable(globalMapStats.hasGlobalMap): emptyLbl = text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_BLOCKLBL_EMPTYGLOBALMAP) else: emptyLbl = '%s %s' % (icons.alert(), text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_NODATA)) return {'isShowHeader': True, 'header': text_styles.highTitle(CLANS.CLANPROFILE_MAINWINDOWTAB_GLOBALMAP), 'statBlocks': statsBlock, 'emptyLbl': emptyLbl, 'isActivated': hasGlobalMap}
def __makeMainVO(self): result = {} extra = self.prbEntity.getExtra() (_, _, arenaTypeID), _ = self.__currentBuilding unitPermissions = self.prbEntity.getPermissions() activeConsumes = extra.getConsumables() result['mapID'] = arenaTypeID arenaType = ArenaType.g_cache.get(arenaTypeID) canUseEquipments = self.__battle.itemData.canUseEquipments if arenaType is not None: mapName = text_styles.main(arenaType.name) else: mapName = '' infoIcon = icons.info() result['headerDescr'] = text_styles.standard( i18n.makeString(FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_MAPTITLE, mapName=mapName) + ' ' + infoIcon) result['isOrdersBgVisible'] = bool( not unitPermissions.canChangeConsumables() and len(activeConsumes)) result['mineClanName'] = g_clanCache.clanTag _, enemyClanAbbev, _ = self.__battle.getOpponentClanInfo() result['enemyClanName'] = '[%s]' % enemyClanAbbev if not canUseEquipments and unitPermissions.canChangeConsumables(): result['ordersDisabledMessage'] = icons.alert( ) + ' ' + text_styles.alert( i18n.makeString( FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_ORDERSDISABLED)) result[ 'ordersDisabledTooltip'] = TOOLTIPS.FORTIFICATION_FORTCLANBATTLEROOM_ORDERSDISABLED_DIVISIONMISMATCH self.as_setBattleRoomDataS(result) return
def __makeMainVO(self): result = {} extra = self.unitFunctional.getExtra() (_, _, arenaTypeID), _ = self.__currentBuilding unitPermissions = self.unitFunctional.getPermissions() activeConsumes = extra.getConsumables() result["mapID"] = arenaTypeID arenaType = ArenaType.g_cache.get(arenaTypeID) canUseEquipments = self.__battle.itemData.canUseEquipments if arenaType is not None: mapName = text_styles.main(arenaType.name) else: mapName = "" infoIcon = icons.info() result["headerDescr"] = text_styles.standard( i18n.makeString(FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_MAPTITLE, mapName=mapName) + " " + infoIcon ) result["isOrdersBgVisible"] = bool( not unitPermissions.canChangeConsumables() and len(activeConsumes) and not canUseEquipments ) result["mineClanName"] = g_clanCache.clanTag _, enemyClanAbbev, _ = self.__battle.getOpponentClanInfo() result["enemyClanName"] = "[%s]" % enemyClanAbbev if not canUseEquipments and unitPermissions.canChangeConsumables(): result["ordersDisabledMessage"] = ( icons.alert() + " " + text_styles.alert(i18n.makeString(FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_ORDERSDISABLED)) ) result["ordersDisabledTooltip"] = TOOLTIPS.FORTIFICATION_FORTCLANBATTLEROOM_ORDERSDISABLED_DIVISIONMISMATCH self.as_setBattleRoomDataS(result)
def showDataUnavailableView(self): header = icons.alert() + i18n.makeString( MENU.BROWSER_DATAUNAVAILABLE_HEADER) description = i18n.makeString(MENU.BROWSER_DATAUNAVAILABLE_DESCRIPTION) self.as_loadingStopS() self.as_showServiceViewS(header, description) self.onError()
def atReturn(self, cd): cd.self.as_showMiniClientInfoS( '{0} {1}'.format( icons.alert(-3), text_styles.main( _ms('#miniclient:battle_type_select_popover/message'))), _ms('#miniclient:personal_quests_welcome_view/continue_download'))
def __updateStatus(self): prefix = i18n.makeString(FORTIFICATIONS.SETTINGSDEFENCEHOURPOPOVER_DEFENCEHOURTITLE) prefix = text_styles.highTitle(prefix) if self._isFortFrozen(): toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_FREEZED) icon = RES_ICONS.MAPS_ICONS_LIBRARY_ERRORICON_1 imageSource = icons.makeImageTag(icon, 16, 16, -4, 0) currentStatus = text_styles.error(i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_FREEZED)) currentStatus = imageSource + " " + currentStatus elif self.__defencePeriod: toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_ACTIVATED) currentStatus = "".join( ( icons.checkmark(), text_styles.success(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_ACTIVATED)), ) ) elif self.__checkConditions(): toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANBEACTIVATED) currentStatus = "".join( ( icons.alert(), text_styles.alert(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTACTIVATED)), ) ) else: toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANNOTBEACTIVATED) currentStatus = "".join( ( icons.notAvailable(), text_styles.standard(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTAVAILABLE)), ) ) self.as_setMainStatusS(prefix, currentStatus, toolTip)
def __makeDefencePeriodData(self): alertMessage = '' blockBtnEnabled = True fort = self.fortCtrl.getFort() inProcess, inCooldown = fort.getDefenceHourProcessing() if self._isFortFrozen(): conditionPostfix = text_styles.standard(fort.getDefencePeriodStr()) else: conditionPostfix = text_styles.neutral(fort.getDefencePeriodStr()) blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNENABLED descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEPERIODDESCRIPTION if inProcess: defenceHourChangeDay, nextDefenceHour, _ = fort.events[FORT_EVENT_TYPE.DEFENCE_HOUR_CHANGE] timestampStart = time_utils.getTimeTodayForUTC(nextDefenceHour) value = '%s - %s' % (BigWorld.wg_getShortTimeFormat(timestampStart), BigWorld.wg_getShortTimeFormat(timestampStart + time_utils.ONE_HOUR)) msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_INPROGRESS, value=value, date=BigWorld.wg_getShortDateFormat(defenceHourChangeDay)) alertMessage = text_styles.alert(msgString) blockBtnEnabled = False blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNDISABLED elif inCooldown: msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_RECENTLYSCHEDULED) alertMessage = text_styles.alert(msgString) blockBtnEnabled = False blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNDISABLED conditionPrefix = text_styles.main(i18n.makeString(FORTIFICATIONS.settingswindow_blockcondition('defencePeriodTime'))) blockDescr = text_styles.standard(i18n.makeString(FORTIFICATIONS.settingswindow_blockdescr('defencePeriodTime'))) if alertMessage: alertMessage = icons.alert() + ' ' + alertMessage return {'blockBtnEnabled': blockBtnEnabled, 'blockDescr': blockDescr, 'blockCondition': conditionPrefix + ' ' + conditionPostfix, 'alertMessage': alertMessage, 'blockBtnToolTip': blockBtnToolTip, 'descriptionTooltip': descriptionTooltip}
def _buildVO(self): deletedTankmen = self.restore.getTankmenBeingDeleted() alertImgSrc = '' alertText = '' alertTooltip = '' if not self._tankman.isRestorable(): alertText = text_styles.alert( icons.alert() + _ms(DIALOGS.PROTECTEDDISMISSTANKMAN_ALERT)) alertTooltip = TOOLTIPS.DISMISSTANKMANDIALOG_CANTRESTORALERT elif deletedTankmen: alertImgSrc = RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON alertTooltip = makeTooltip( TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_HEADER, _ms(TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_BODY, placeCount=self.restore.getMaxTankmenBufferLength(), currCount=len(self.restore.getDismissedTankmen()), tankmanNew=self._tankman.fullUserName, tankmanOld=formatDeletedTankmanStr(deletedTankmen[0]))) return { 'alertText': alertText, 'alertTooltip': alertTooltip, 'alertImgSrc': alertImgSrc, 'questionText': text_styles.main(_ms(DIALOGS.DISMISSTANKMAN_MESSAGE)) }
def showWarningDialog(self, dialogID, settings, isCloseWnd): def callback(isOk): if not self.isDisposed(): if isOk: self.applySettings(settings, False) self.as_confirmWarningDialogS(isOk, dialogID) if isCloseWnd and isOk: self.onWindowClose() ctx = None if dialogID == SETTINGS_DIALOGS.MINIMAP_ALPHA_NOTIFICATION: ctx = { 'icon': icons.alert(), 'alert': makeHtmlString( 'html_templates:lobby/dialogs', 'minimapAlphaNotification', { 'message': backport.text(R.strings.dialogs. minimapAlphaNotification.message.alert()) }) } DialogsInterface.showI18nConfirmDialog(dialogID, callback, ctx) return
def atCall(self, cd): vehicleItem = g_itemsCache.items.getItem(GUI_ITEM_TYPE.VEHICLE, cd.self.nationID, cd.self.inNationID) if self.__vehicle_is_available(vehicleItem): return None else: cd.avoid() def dialogButtonClickHandler(confirm): if confirm: BigWorld.callback( 0.1, lambda: cd.self._VehicleBuyWindow__requestForBuy( cd.args[0])) else: cd.self.as_setEnabledSubmitBtnS(True) showDialog( SimpleDialogMeta(title=_ms('#miniclient:buy_vehicle/title'), message=icons.alert() + _ms('#miniclient:buy_vehicle/message'), buttons=I18nConfirmDialogButtons( i18nKey='questsConfirmDialog', focusedIndex=DIALOG_BUTTON_ID.SUBMIT)), dialogButtonClickHandler) return None
def __getItemRestoreInfo(self, item): """ Get formatted vehicle restore info :param item: <Vehicle> :return: <str> """ if item.isRestorePossible(): if constants.IS_CHINA and item.rentalIsActive: return text_styles.alert( MENU.VEHICLE_RESTORELEFT_DISABLEDBYRENT) if item.hasLimitedRestore(): restoreLeftTime = item.restoreInfo.getRestoreTimeLeft() timeKey, formattedTime = getTimeLeftInfo(restoreLeftTime) msg = i18n.makeString('#menu:vehicle/restoreLeft/%s' % timeKey, time=formattedTime) if restoreLeftTime < time_utils.ONE_DAY: return icons.alert() + text_styles.alert(msg) return text_styles.stats(msg) if item.hasRestoreCooldown(): timeKey, formattedTime = getTimeLeftInfo( item.restoreInfo.getRestoreCooldownTimeLeft()) msg = i18n.makeString('#menu:vehicle/restoreCooldownLeft/%s' % timeKey, time=formattedTime) return text_styles.stats(msg) return ''
def __updateClubData(self): resultVO = _IntroViewVO() club = self.getClub() if self.clubsState.getStateID() == CLIENT_CLUB_STATE.HAS_CLUB and club: profile = self.clubsCtrl.getProfile() limits = self.clubsCtrl.getLimits() resultVO.setClubLabel(club.getUserName()) resultVO.setClubDBbID(club.getClubDbID()) resultVO.setClubLadderChevron(club) resultVO.showAdditionalButton(_ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST), TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN) resultVO.moveToTheUnitByCreateButton() resultVO.openClubProfileByChevronClick() if club.hasActiveUnit(): unitInfo = club.getUnitInfo() resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_JOINTEAM), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_JOINTEAM) if unitInfo.isInBattle(): isInBattleIcon = icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_SWORDSICON, 16, 16, -3, 0) resultVO.setClubDescription(text_styles.neutral('%s %s' % (isInBattleIcon, _ms(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_TEAMINBATTLE)))) else: resultVO.setClubDescription(text_styles.neutral(CYBERSPORT.STATICFORMATIONPROFILEWINDOW_STATUSLBL_CLUBISCALLED)) else: canCreateUnit = limits.canCreateUnit(profile, club) if canCreateUnit.success: resultVO.setClubDescription(text_styles.neutral(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_ASSEMBLINGTEAM)) resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ASSEMBLETEAM) elif canCreateUnit.reason == CLIENT_CLUB_RESTRICTIONS.NOT_ENOUGH_MEMBERS: if club.getPermissions().isOwner(): resultVO.setClubDescription(text_styles.main(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPLAYERS)) resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ADDPLAYERS), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ADDPLAYERS) else: resultVO.setClubDescription(text_styles.error(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_OWNERASSEMBLINGTEAM), isBackVisible=True) resultVO.showCreateButton(_ms('#cybersport:window/intro/create/btn/private/seeStaff'), '#tooltips:cyberSport/intro/createBtn/addPlayers/private') resultVO.needAddPlayers() else: resultVO.setClubDescription(text_styles.error(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPERMISSIONS_ASSEMBLINGTEAM), isBackVisible=True) resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM), '#tooltips:StaticFormationProfileWindow/actionBtn/notEnoughPermissions', enabled=False) elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.NO_CLUB: resultVO.setNoClubChevron(isApplicationSent=False) resultVO.setClubLabel(_ms(CYBERSPORT.WINDOW_INTRO_TEAM_HEADER_STATICTEAMS)) resultVO.setClubDescription(text_styles.main(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_CREATEORFIND)) resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_LOOK), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_LOOK) elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.SENT_APP: resultVO.setNoClubChevron(isApplicationSent=True) resultVO.openClubProfileByChevronClick() if club is not None: resultVO.setClubLabel(club.getUserName()) resultVO.setClubLadderChevron(club) resultVO.setClubDescription(text_styles.neutral(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_WAITINGFORREQUEST)) resultVO.showCancelButton(_ms(CYBERSPORT.WINDOW_INTRO_CANCEL_BTN_LABEL), TOOLTIPS.CYBERSPORT_INTRO_CANCELBTN) resultVO.showAdditionalButton(_ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST), TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN) else: resultVO.fillDefault() resultVO.acceptNavigationByChevron(False) isBattlesAvailable, _ = self.clubsCtrl.getAvailabilityCtrl().getStatus() if not isBattlesAvailable: resultVO.setClubDescriptionTooltip(TOOLTIPS_CONSTANTS.LADDER_REGULATIONS) resultVO.setClubDescription('{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)), True) self.as_setStaticTeamDataS(resultVO.getData()) return
def __makeVacationData(self): alertMessage = '' blockBtnEnabled = True daysBeforeVacation = -1 fort = self.fortCtrl.getFort() isVacationEnabled = fort.isVacationEnabled() inProcess, inCooldown = fort.getVacationProcessing() _, vacationEnd = fort.getVacationDate() blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNENABLED descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONDESCRIPTION conditionPostfix = text_styles.standard( i18n.makeString(FORTIFICATIONS. SETTINGSWINDOW_BLOCKCONDITION_VACATIONNOTPLANNED)) if inProcess or inCooldown: blockBtnEnabled = False if fort.isOnVacation(): blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED daysBeforeVacation = -1 elif time_utils.getTimeDeltaFromNow(vacationEnd) != 0: blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED else: cooldownEnd = vacationEnd + g_fortCache.vacationCooldownTime daysBeforeVacation = time_utils.getTimeDeltaFromNow( cooldownEnd) / time_utils.ONE_DAY + 1 if daysBeforeVacation == 0: blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDSBLDLESSADAY daysBeforeVacation = -1 else: blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLEDNOTPLANNED isVacationEnabled = False if isVacationEnabled: vacation = fort.getVacationDateTimeStr() if not self._isFortFrozen(): if not fort.isOnVacation(): conditionPostfix = text_styles.neutral(vacation) else: conditionPostfix = text_styles.success(vacation) else: conditionPostfix = text_styles.standard(vacation) conditionPrefix = text_styles.main( i18n.makeString( FORTIFICATIONS.settingswindow_blockcondition('vacation'))) blockDescr = text_styles.standard( i18n.makeString( FORTIFICATIONS.settingswindow_blockdescr('vacation'))) if alertMessage: alertMessage = icons.alert() + ' ' + alertMessage return { 'blockBtnEnabled': blockBtnEnabled, 'blockDescr': blockDescr, 'blockCondition': conditionPrefix + ' ' + conditionPostfix, 'alertMessage': alertMessage, 'blockBtnToolTip': blockBtnToolTip, 'daysBeforeVacation': daysBeforeVacation, 'descriptionTooltip': descriptionTooltip }
def setRecord(self, result, reusable): self.isMoneyEnabled = not reusable.isWGMoneyOffline self.moneyEnabledTooltip = makeTooltip( ' '.join( (icons.alert(-3), i18n.makeString(TOOLTIPS.BATTLERESULTS_MONEYALERT_HEADER))), TOOLTIPS.BATTLERESULTS_MONEYALERT_BODY, None, None) self.creditsNotAccrueStr = text_styles.alert( BATTLE_RESULTS.COMMON_CREDITS_NOTACCRUED) return
def _packUnsupportedBlock(self): return formatters.packTitleDescBlock( title=text_styles.statusAlert( icons.alert(-3) + ' ' + _ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_TOOLTIP_WARNING_TITLE) ), desc=text_styles.standard( VEHICLE_CUSTOMIZATION. CUSTOMIZATION_TOOLTIP_WARNING_REASON_FORWARD), padding={'top': -2})
def __getLocalize(self, value, countIteration): headerFormatter = text_styles.promoSubTitle bodyFormatter = text_styles.main alertIcon = '' if countIteration == 0: headerFormatter = text_styles.promoTitle if not self.__isDefenceHourEnabled: bodyFormatter = text_styles.alert alertIcon = icons.alert() + ' ' valueHeader = headerFormatter(self.__getText(value + '/header')) valueBody = bodyFormatter(alertIcon + self.__getText(value + '/body')) return (valueHeader, valueBody)
def _populate(self): super(FortDisconnectViewComponent, self)._populate() state = self.fortState warningIcon = icons.alert() warningText = warningIcon + i18n.makeString(FORTIFICATIONS.DISCONNECTED_WARNING) if state.getStateID() == CLIENT_FORT_STATE.ROAMING: warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONROAMING else: warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONCENTERUNAVAILABLE warningDescrText = i18n.makeString(warningDescrText) self.as_setWarningTextsS(warningText, warningDescrText) g_eventBus.handleEvent(events.FortEvent(events.FortEvent.VIEW_LOADED), scope=EVENT_BUS_SCOPE.FORT)
def __makeOffDayData(self): alertMessage = '' blockBtnEnabled = True fort = self.fortCtrl.getFort() inProcess, inCooldown = fort.getOffDayProcessing() dayOff = fort.getOffDayStr() if self._isFortFrozen(): conditionPostfix = text_styles.standard(dayOff) else: conditionPostfix = text_styles.neutral(dayOff) blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNENABLED descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DAYOFFDESCRIPTION if inProcess: offDayChangeDate, nextOffDayUTC, _ = fort.events[ FORT_EVENT_TYPE.OFF_DAY_CHANGE] nextOffDayLocal = adjustOffDayToLocal( nextOffDayUTC, self.fortCtrl.getFort().getLocalDefenceHour()[0]) if nextOffDayLocal > NOT_ACTIVATED: value = i18n.makeString( MENU.datetime_weekdays_full(str(nextOffDayLocal + 1))) else: value = i18n.makeString( FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_NOWEEKEND) msgString = i18n.makeString( FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_INPROGRESS, value=value, date=BigWorld.wg_getLongDateFormat(offDayChangeDate)) alertMessage = text_styles.alert(msgString) blockBtnEnabled = False blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED elif inCooldown: msgString = i18n.makeString( FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_RECENTLYSCHEDULED) alertMessage = text_styles.alert(msgString) blockBtnEnabled = False blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED conditionPrefix = text_styles.main( i18n.makeString( FORTIFICATIONS.settingswindow_blockcondition('weekEnd'))) blockDescr = text_styles.standard( i18n.makeString( FORTIFICATIONS.settingswindow_blockdescr('weekEnd'))) if alertMessage: alertMessage = icons.alert() + ' ' + alertMessage return { 'blockBtnEnabled': blockBtnEnabled, 'blockDescr': blockDescr, 'blockCondition': conditionPrefix + ' ' + conditionPostfix, 'alertMessage': alertMessage, 'blockBtnToolTip': blockBtnToolTip, 'descriptionTooltip': descriptionTooltip }
def __updateActionButton(self, club): labels, isEnableActionBtn, action = self.__getButtonInfo(club) data = {'buttonLabel': labels[0], 'statusLbl': labels[1], 'tooltipHeader': labels[2], 'tooltipBody': labels[3], 'action': action, 'enabled': isEnableActionBtn} if isHourInForbiddenList(self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()): data['statusLbl'] = '{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)) data['isTooltipStatus'] = True data['tooltipStatus'] = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS self.as_updateActionButtonS(data)
def __updateActionButton(self, club): labels, isEnableActionBtn, action, canPerformAction = self.__getButtonInfo(club) data = {'buttonLabel': labels[0], 'statusLbl': labels[1], 'tooltipHeader': labels[2], 'tooltipBody': labels[3], 'action': action, 'enabled': isEnableActionBtn} if canPerformAction and isHourInForbiddenList(self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()): data['statusLbl'] = '{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)) data['isTooltipStatus'] = True data['tooltipStatus'] = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS self.as_updateActionButtonS(data)
def __makeVacationData(self): alertMessage = "" blockBtnEnabled = True daysBeforeVacation = -1 fort = self.fortCtrl.getFort() isVacationEnabled = fort.isVacationEnabled() inProcess, inCooldown = fort.getVacationProcessing() _, vacationEnd = fort.getVacationDate() blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNENABLED descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONDESCRIPTION conditionPostfix = text_styles.standard( i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_VACATIONNOTPLANNED) ) if inProcess or inCooldown: blockBtnEnabled = False if fort.isOnVacation(): blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED daysBeforeVacation = -1 elif time_utils.getTimeDeltaFromNow(vacationEnd) != 0: blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED else: cooldownEnd = vacationEnd + g_fortCache.vacationCooldownTime daysBeforeVacation = time_utils.getTimeDeltaFromNow(cooldownEnd) / time_utils.ONE_DAY + 1 if daysBeforeVacation == 0: blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDSBLDLESSADAY daysBeforeVacation = -1 else: blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLEDNOTPLANNED isVacationEnabled = False if isVacationEnabled: vacation = fort.getVacationDateTimeStr() if not self._isFortFrozen(): if not fort.isOnVacation(): conditionPostfix = text_styles.neutral(vacation) else: conditionPostfix = text_styles.success(vacation) else: conditionPostfix = text_styles.standard(vacation) conditionPrefix = text_styles.main(i18n.makeString(FORTIFICATIONS.settingswindow_blockcondition("vacation"))) blockDescr = text_styles.standard(i18n.makeString(FORTIFICATIONS.settingswindow_blockdescr("vacation"))) if alertMessage: alertMessage = icons.alert() + " " + alertMessage return { "blockBtnEnabled": blockBtnEnabled, "blockDescr": blockDescr, "blockCondition": conditionPrefix + " " + conditionPostfix, "alertMessage": alertMessage, "blockBtnToolTip": blockBtnToolTip, "daysBeforeVacation": daysBeforeVacation, "descriptionTooltip": descriptionTooltip, }
def _populate(self): super(FortDisconnectViewComponent, self)._populate() state = self.fortState warningIcon = icons.alert() warningText = warningIcon + i18n.makeString( FORTIFICATIONS.DISCONNECTED_WARNING) if state.getStateID() == CLIENT_FORT_STATE.ROAMING: warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONROAMING else: warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONCENTERUNAVAILABLE warningDescrText = i18n.makeString(warningDescrText) self.as_setWarningTextsS(warningText, warningDescrText) g_eventBus.handleEvent(events.FortEvent(events.FortEvent.VIEW_LOADED), scope=EVENT_BUS_SCOPE.FORT)
def atCall(self, cd): vehicleItem = g_itemsCache.items.getItem(GUI_ITEM_TYPE.VEHICLE, cd.self.nationID, cd.self.inNationID) if self.__vehicle_is_available(vehicleItem): return None else: cd.avoid() def dialogButtonClickHandler(confirm): if confirm: BigWorld.callback(0.1, lambda : cd.self._VehicleBuyWindow__requestForMoneyObtain(cd.args[0])) else: cd.self.as_setEnabledSubmitBtnS(True) showDialog(SimpleDialogMeta(title=_ms(self._localKey % 'title'), message=icons.alert() + _ms(self._localKey % 'message'), buttons=I18nConfirmDialogButtons(i18nKey='questsConfirmDialog', focusedIndex=DIALOG_BUTTON_ID.SUBMIT)), dialogButtonClickHandler) return None
def packPerformanceWarningBlock(performanceGroup, leftPadding=0, rightPadding=0): attention = R.strings.epic_battle.selectorTooltip.epicBattle.attention if performanceGroup == BattleRoyalePerfProblems.HIGH_RISK: icon = icons.markerBlocked() titleStyle = text_styles.error attention = attention.assuredLowPerformance elif performanceGroup == BattleRoyalePerfProblems.MEDIUM_RISK: icon = icons.alert() titleStyle = text_styles.alert attention = attention.possibleLowPerformance else: icon = icons.attention() titleStyle = text_styles.stats attention = attention.informativeLowPerformance return formatters.packTitleDescBlock(title=text_styles.concatStylesWithSpace(icon, titleStyle(backport.text(attention.title()))), desc=text_styles.main(backport.text(attention.description())), padding=formatters.packPadding(left=leftPadding, right=rightPadding))
def __packPerformanceWarningBlock(self): performanceGroup = self.__epicController.getPerformanceGroup() attention = R.strings.epic_battle.selectorTooltip.epicBattle.attention if performanceGroup == EPIC_PERF_GROUP.HIGH_RISK: icon = icons.markerBlocked() titleStyle = text_styles.error attention = attention.assuredLowPerformance elif performanceGroup == EPIC_PERF_GROUP.MEDIUM_RISK: icon = icons.alert() titleStyle = text_styles.alert attention = attention.possibleLowPerformance else: icon = icons.attention() titleStyle = text_styles.stats attention = attention.informativeLowPerformance return formatters.packTitleDescBlock(title=text_styles.concatStylesWithSpace(icon, titleStyle(backport.text(attention.title()))), desc=text_styles.main(backport.text(attention.description())), padding=formatters.packPadding(left=20, right=20))
def _packBlocks(self, perfType, *args, **kwargs): items = super(PerfAttentionSimpleTooltip, self)._packBlocks(*args, **kwargs) message = backport.text(R.strings.tooltips.battle_royale.hangar.perf.dyn(perfType).header()) problemIcon = None if perfType == BattleRoyalePerfProblems.HIGH_RISK: problemIcon = icons.notAvailableRed() formattedMessage = text_styles.critical(message) elif perfType == BattleRoyalePerfProblems.MEDIUM_RISK: problemIcon = icons.alert() formattedMessage = text_styles.alert(message) else: formattedMessage = '' title = text_styles.concatStylesWithSpace(problemIcon, formattedMessage) description = text_styles.main(backport.text(R.strings.tooltips.battle_royale.hangar.perf.dyn(perfType).description())) items.append(formatters.packTitleDescBlock(title=title, desc=description)) return items
def _buildVO(self): from gui.game_control import getRestoreController restoreController = getRestoreController() deletedTankmen = restoreController.getTankmenBeingDeleted() alertImgSrc = '' alertText = '' alertTooltip = '' if not self._tankman.isRestorable(): alertText = text_styles.alert(icons.alert() + _ms(DIALOGS.PROTECTEDDISMISSTANKMAN_ALERT)) alertTooltip = TOOLTIPS.DISMISSTANKMANDIALOG_CANTRESTORALERT elif len(deletedTankmen) > 0: alertImgSrc = RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON alertTooltip = makeTooltip(TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_HEADER, _ms(TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_BODY, placeCount=restoreController.getMaxTankmenBufferLength(), currCount=len(restoreController.getDismissedTankmen()), tankmanNew=self._tankman.fullUserName, tankmanOld=formatDeletedTankmanStr(deletedTankmen[0]))) return {'alertText': alertText, 'alertTooltip': alertTooltip, 'alertImgSrc': alertImgSrc, 'questionText': text_styles.main(_ms(DIALOGS.DISMISSTANKMAN_MESSAGE))}
def __makeOffDayData(self): alertMessage = "" blockBtnEnabled = True fort = self.fortCtrl.getFort() inProcess, inCooldown = fort.getOffDayProcessing() dayOff = fort.getOffDayStr() if self._isFortFrozen(): conditionPostfix = text_styles.standard(dayOff) else: conditionPostfix = text_styles.neutral(dayOff) blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNENABLED descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DAYOFFDESCRIPTION if inProcess: offDayChangeDate, nextOffDayUTC, _ = fort.events[FORT_EVENT_TYPE.OFF_DAY_CHANGE] nextOffDayLocal = adjustOffDayToLocal(nextOffDayUTC, self.fortCtrl.getFort().getLocalDefenceHour()[0]) if nextOffDayLocal > NOT_ACTIVATED: value = i18n.makeString(MENU.datetime_weekdays_full(str(nextOffDayLocal + 1))) else: value = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_NOWEEKEND) msgString = i18n.makeString( FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_INPROGRESS, value=value, date=BigWorld.wg_getLongDateFormat(offDayChangeDate), ) alertMessage = text_styles.alert(msgString) blockBtnEnabled = False blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED elif inCooldown: msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_RECENTLYSCHEDULED) alertMessage = text_styles.alert(msgString) blockBtnEnabled = False blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED conditionPrefix = text_styles.main(i18n.makeString(FORTIFICATIONS.settingswindow_blockcondition("weekEnd"))) blockDescr = text_styles.standard(i18n.makeString(FORTIFICATIONS.settingswindow_blockdescr("weekEnd"))) if alertMessage: alertMessage = icons.alert() + " " + alertMessage return { "blockBtnEnabled": blockBtnEnabled, "blockDescr": blockDescr, "blockCondition": conditionPrefix + " " + conditionPostfix, "alertMessage": alertMessage, "blockBtnToolTip": blockBtnToolTip, "descriptionTooltip": descriptionTooltip, }
def __updateStatus(self): prefix = i18n.makeString(FORTIFICATIONS.SETTINGSDEFENCEHOURPOPOVER_DEFENCEHOURTITLE) prefix = text_styles.highTitle(prefix) if self._isFortFrozen(): toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_FREEZED) icon = RES_ICONS.MAPS_ICONS_LIBRARY_ERRORICON_1 imageSource = icons.makeImageTag(icon, 16, 16, -4, 0) currentStatus = text_styles.error(i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_FREEZED)) currentStatus = imageSource + ' ' + currentStatus elif self.__defencePeriod: toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_ACTIVATED) currentStatus = ''.join((icons.checkmark(), text_styles.success(' ' + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_ACTIVATED)))) elif self.__checkConditions(): toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANBEACTIVATED) currentStatus = ''.join((icons.alert(), text_styles.alert(' ' + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTACTIVATED)))) else: toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANNOTBEACTIVATED) currentStatus = ''.join((icons.notAvailable(), text_styles.standard(' ' + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTAVAILABLE)))) self.as_setMainStatusS(prefix, currentStatus, toolTip)
def __makeRequest(self, requestFunc, successStatus, errorCallback): if self.__retriesCount == 0: if not self.__isMaintenance: self.as_showWaitingS( backport.msgid(R.strings.waiting.hof.loading())) self.__requestProcessing = True else: self.__retryCallback = None response = yield requestFunc() if self.__viewDisposed: LOG_WARNING( 'ProfileHof request canceled: ProfileHof view was disposed') return else: if response: self.__refreshRequest() if self.__isMaintenance: self.as_hideServiceViewS() self.as_setBtnCountersS(self.__getCountersList()) self.__isMaintenance = False errors = response.getErrors() if not errors: self.__status = successStatus self.as_setStatusS(successStatus) else: errorCallback(errors[0]) elif self.__retriesCount < self._requestRetriesCount: self.__retriesCount += 1 self.__retryCallback = BigWorld.callback( self._retryDelay, partial(self.__makeRequest, requestFunc, successStatus, errorCallback)) else: self.__refreshRequest() if not self.__isMaintenance: self.__isMaintenance = True header = icons.alert() + i18n.makeString( MENU.BROWSER_DATAUNAVAILABLE_HEADER) description = i18n.makeString( MENU.BROWSER_DATAUNAVAILABLE_DESCRIPTION) self.as_showServiceViewS(header, description) self.as_setBtnCountersS([]) return
def _prepareData(self, serverList, serverName, serverTimeLeft): enableTitle, enableWelcomeTitle, enableBtnTitle, disableTitle, disableStatusTitle, disableStatusDescr, disableBtnTitle = self._getLocaleData() enableBackground, disableBackground = self._getImgsData() if self._isEnabled: timeLeftStr = time_utils.getTillTimeString(serverTimeLeft, MENU.HEADERBUTTONS_BATTLE_TYPES_RANKED_AVAILABILITY) status = text_styles.main(_ms(enableTitle, server=serverName, time=text_styles.warning(timeLeftStr))) mainBackground = enableBackground title = text_styles.epicTitle(enableWelcomeTitle) applyButtonLabel = _ms(enableBtnTitle) else: status = '{} {}\n{}'.format(icons.alert(-3), text_styles.alert(disableStatusTitle), text_styles.main(disableStatusDescr)) mainBackground = disableBackground title = text_styles.epicTitle(disableTitle) applyButtonLabel = _ms(disableBtnTitle) return {'title': title, 'apply': applyButtonLabel, 'mainBackground': mainBackground, 'status': status, 'serversDDEnabled': len(serverList) > 1, 'serverDDVisible': True}
def __getItemRestoreInfo(self, item): """ Get formatted vehicle restore info :param item: <Vehicle> :return: <str> """ if item.isRestorePossible(): if constants.IS_CHINA and item.rentalIsActive: return text_styles.alert(MENU.VEHICLE_RESTORELEFT_DISABLEDBYRENT) if item.hasLimitedRestore(): restoreLeftTime = item.restoreInfo.getRestoreTimeLeft() timeKey, formattedTime = getTimeLeftInfo(restoreLeftTime) msg = i18n.makeString('#menu:vehicle/restoreLeft/%s' % timeKey, time=formattedTime) if restoreLeftTime < time_utils.ONE_DAY: return icons.alert() + text_styles.alert(msg) return text_styles.stats(msg) if item.hasRestoreCooldown(): timeKey, formattedTime = getTimeLeftInfo(item.restoreInfo.getRestoreCooldownTimeLeft()) msg = i18n.makeString('#menu:vehicle/restoreCooldownLeft/%s' % timeKey, time=formattedTime) return text_styles.stats(msg) return ''
def __updateData(self): selectedIdx = self.__serversDP.getSelectedIdx() serverItem = self.__serversList[selectedIdx] selectedItem = self.__serversDP.getVO(selectedIdx) currentServerName = selectedItem['label'] if len(self.__serversList) == 1: serverDDName = text_styles.concatStylesToSingleLine( text_styles.main(currentServerName), ' ', selectedItem['pingValue']) serversDDEnabled = False else: serverDDName = '' serversDDEnabled = True applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_APPLYBTN) title = _ms(RANKED_BATTLES.PRIMETIME_TITLE) if self.__isEnabled: timeLeftStr = time_utils.getTillTimeString( serverItem['timeLeft'], MENU.HEADERBUTTONS_BATTLE_TYPES_RANKED_AVAILABILITY) status = text_styles.main( _ms(RANKED_BATTLES.PRIMETIME_STATUS_THISENABLE, server=currentServerName, time=text_styles.warning(timeLeftStr))) mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_DEFAULT title = _ms(RANKED_BATTLES.PRIMETIME_TITLEWELCOME) else: applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_CONTINUEBTN) status = '{} {}'.format( icons.alert(-3), text_styles.main(_ms(RANKED_BATTLES.PRIMETIME_STATUS_DISABLE))) mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_BW self.as_setDataS({ 'title': title, 'apply': applyButtonLabel, 'mainBackground': mainBackground, 'status': status, 'serversDDEnabled': serversDDEnabled, 'serverDDVisible': True })
def __getHeaderText(self, canUpdatePremium): text = text_styles.highTitle(MENU.PREMIUM_TARIFFS_HEADER) if not canUpdatePremium: text += ' ' + icons.alert() return text
def __prepareActionData(self): result = {} enableActionBtn = False if self._isBaseBuilding: if self.__isCommander: result['currentState'] = self.ACTION_STATES.BASE_COMMANDER resultConcat = ''.join((text_styles.main( i18n.makeString( FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)), text_styles.neutral( self.__directionOpened))) result['generalLabel'] = resultConcat result['actionButtonLbl'] = i18n.makeString( FORT.BUILDINGPOPOVER_DEFRESACTIONS_MANAGEMENT) enableActionBtn = True else: result['currentState'] = self.ACTION_STATES.BASE_NOT_COMMANDER resultConcat = ''.join((text_styles.main( i18n.makeString( FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)), text_styles.neutral( self.__directionOpened))) result['generalLabel'] = resultConcat elif self.__isCommander: if self.__buildingDescr.orderInProduction: orderCount = self.__buildingDescr.orderInProduction.get( 'count', 0) result[ 'currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_ORDERED if self._isProductionInPause(self.__buildingDescr): result['productionInPause'] = True title = i18n.makeString( TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_HEADER) body = i18n.makeString( TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_BODY) result['pauseReasonTooltip'] = [title, body] overTime = i18n.makeString( FORT.BUILDINGPOPOVER_ORDERPROCESS_INPAUSE) orderTimeIcon = icons.alert() orderTimeMsg = text_styles.alert(overTime) orderTime = i18n.makeString(orderTimeIcon + ' ' + orderTimeMsg) else: overTime = i18n.makeString( FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARETIMEOVER) overTime = overTime + self.__orderTime orderTime = text_styles.neutral(overTime) orderTimer = ''.join((text_styles.main( i18n.makeString( FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARINGDEFRES)), text_styles.neutral(orderCount))) result['orderTimer'] = orderTimer result['timeOver'] = orderTime result['generalLabel'] = self.__makeGeneralActionLabel() else: result[ 'currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_NOT_ORDERED result['generalLabel'] = self.__makeGeneralActionLabel() result['actionButtonLbl'] = i18n.makeString( FORT.BUILDINGPOPOVER_DEFRESACTIONS_REQUESTDEFRES) enableActionBtn = True order = self.fortCtrl.getFort().getOrder(self.__orderID) if self.__defResVal < order.productionCost: enableActionBtn = False result[ 'toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERDISABLE if order.maxCount <= order.count: enableActionBtn = False result[ 'toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDEROVERLOAD if self._isBuildingDamaged( self.__buildingDescr) or self._isBaseBuildingDamaged( ) or self._isFortFrozen(): enableActionBtn = False header = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_HEADER body = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_BODY result['toolTipData'] = makeTooltip(header, body) if enableActionBtn: orderName = i18n.makeString( FORT.orders_orderpopover_ordertype( self.getOrderUIDbyID(self.__orderID))) result['toolTipData'] = i18n.makeString( TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERENABLE, orderName=orderName) else: result['currentState'] = self.ACTION_STATES.NOT_BASE_NOT_COMMANDER result['generalLabel'] = 'unVISIBLE' result['actionButtonLbl'] = 'unVISIBLE' result[ 'enableActionButton'] = enableActionBtn and not self.__isTutorial return result
def __updateHeader(self): club = self.clubsCtrl.getClub(self.__clubDBID) canSetRanked = club is not None and club.getPermissions().canSetRanked( ) seasonState = self.clubsCtrl.getSeasonState() modeLabel = '' modeTooltip = '' modeTooltipType = '' isFixedMode = True isModeTooltip = False if self.__extra.isRatedBattle: isFixedMode = not canSetRanked if canSetRanked: modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETUNRANKEDMODE else: modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_RANKEDMODE elif seasonState.isSuspended(): modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSED isModeTooltip = True modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX modeTooltip = makeTooltip( CYBERSPORT. STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_HEADER, CYBERSPORT. STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_BODY ) elif seasonState.isFinished(): modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHED isModeTooltip = True modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX modeTooltip = makeTooltip( CYBERSPORT. STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_HEADER, CYBERSPORT. STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_BODY ) elif canSetRanked: isFixedMode = False modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETRANKEDMODE if len(modeLabel): if canSetRanked and seasonState.isActive( ) or self.__extra.isRatedBattle: modeLabel = text_styles.neutral(modeLabel) else: modeLabel = text_styles.standard(modeLabel) if isHourInForbiddenList( self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()): modeLabel = '{0}{1}'.format( icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)) isFixedMode = True isModeTooltip = True modeTooltipType = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS bgSource = RES_ICONS.MAPS_ICONS_LIBRARY_CYBERSPORT_LEAGUERIBBONS_UNRANKED battles = self.ABSENT_VALUES winRate = self.ABSENT_VALUES leagueIcon = getLadderChevron64x64() enableWinRateTF = False if club is not None: clubTotalStats = club.getTotalDossier().getTotalStats() battles = BigWorld.wg_getNiceNumberFormat( clubTotalStats.getBattlesCount()) division = club.getLadderInfo().division leagueIcon = getLadderChevron64x64(division) winRateValue = ProfileUtils.getValueOrUnavailable( clubTotalStats.getWinsEfficiency()) if winRateValue != ProfileUtils.UNAVAILABLE_VALUE: enableWinRateTF = True winRate = ProfileUtils.formatFloatPercent(winRateValue) else: winRate = self.ABSENT_VALUES if self.__extra.isRatedBattle: bgSource = getLadderBackground(division) self.requestClubEmblem64x64(club.getClubDbID(), club.getEmblem64x64()) self.as_setHeaderDataS({ 'clubId': self.__extra.clubDBID, 'teamName': self.__extra.clubName, 'isRankedMode': bool(self.__extra.isRatedBattle), 'battles': battles, 'winRate': winRate, 'enableWinRateTF': enableWinRateTF, 'leagueIcon': leagueIcon, 'isFixedMode': isFixedMode, 'modeLabel': modeLabel, 'modeTooltip': modeTooltip, 'bgSource': bgSource, 'modeTooltipType': modeTooltipType, 'isModeTooltip': isModeTooltip }) return
def __makeProgresData(self): refSystem = game_control.g_instance.refSystem totalXP = refSystem.getTotalXP() currentXP = refSystem.getReferralsXPPool() progressText = '%(currentXP)s / %(totalXP)s %(icon)s' % {'currentXP': text_styles.credits(BigWorld.wg_getIntegralFormat(currentXP)), 'totalXP': BigWorld.wg_getIntegralFormat(totalXP), 'icon': icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON, 16, 16, -3, 0)} text = i18n.makeString(MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_PROGRESS, progress=progressText) awardData = {} progresData = {'text': text_styles.main(text)} progressAlertText = '' if refSystem.isTotallyCompleted(): completedText = i18n.makeString(MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_COMPLETE) completedText = text_styles.middleTitle(completedText) awardData['completedText'] = completedText _, lastStepQuests = refSystem.getQuests()[-1] vehicleBonus = findFirst(lambda q: q.getBonuses('vehicles'), reversed(lastStepQuests)) vehicleBonusIcon = '' if vehicleBonus is not None: vehicleBonusIcon = vehicleBonus.getBonuses('vehicles')[0].getTooltipIcon() awardData['completedImage'] = vehicleBonusIcon else: stepsData = [] progress = 0.0 quests = refSystem.getQuests() totalQuestsCount = len(tuple(itertools.chain(*dict(quests).values()))) if quests and totalQuestsCount == self.TOTAL_QUESTS: currentCompletedStep = -1 totalSteps = len(quests) lastStep = totalSteps - 1 for i, (xp, events) in enumerate(quests): notCompleted = filter(lambda q: not q.isCompleted(), reversed(events)) lastNotCompleted = findFirst(None, notCompleted) if lastNotCompleted is not None: questIDs = map(methodcaller('getID'), notCompleted) icon = self.__getBonusIcon(lastNotCompleted) else: questIDs = map(methodcaller('getID'), events) icon = RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETE currentCompletedStep = i stepsData.append({'id': pickle.dumps((xp, questIDs)), 'icon': icon}) nextStep = min(currentCompletedStep + 1, lastStep) nextStepXP, _ = quests[nextStep] if currentXP: totalProgress = 0.0 currentCompletedStepXP = 0 oneStepWeight = 1.0 / totalSteps if currentCompletedStep != -1: currentCompletedStepXP, _ = quests[currentCompletedStep] totalProgress = (currentCompletedStep + 1) * oneStepWeight xpForNextStep = nextStepXP - currentCompletedStepXP xpFromPrevStep = currentXP - currentCompletedStepXP stepProgress = float(xpFromPrevStep) / xpForNextStep if xpFromPrevStep else 0.0 totalStepProgress = stepProgress * oneStepWeight progress = totalProgress + totalStepProgress else: LOG_WARNING('Referral quests is in invalid state: ', quests) progressAlertIcon = icons.alert() progressAlertText = text_styles.alert(i18n.makeString(MENU.REFERRALMANAGEMENTWINDOW_PROGRESSNOTAVAILABLE)) progressAlertText = i18n.makeString(progressAlertIcon + ' ' + progressAlertText) progresData.update({'steps': stepsData, 'progress': progress}) if progressAlertText != '': self.as_showAlertS(progressAlertText) elif refSystem.isTotallyCompleted(): self.as_setAwardDataDataS(awardData) else: self.as_setProgressDataS(progresData) return
def __showDataUnavailableView(self): header = icons.alert() + i18n.makeString(MENU.BROWSER_DATAUNAVAILABLE_HEADER) description = i18n.makeString(MENU.BROWSER_DATAUNAVAILABLE_DESCRIPTION) self.as_showServiceViewS(header, description)
def __updateClubData(self): resultVO = _IntroViewVO() club = self.getClub() if self.clubsState.getStateID() == CLIENT_CLUB_STATE.HAS_CLUB and club: profile = self.clubsCtrl.getProfile() limits = self.clubsCtrl.getLimits() resultVO.setClubLabel(club.getUserName()) resultVO.setClubDBbID(club.getClubDbID()) resultVO.setClubLadderChevron(club) resultVO.showAdditionalButton( _ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST), TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN) resultVO.moveToTheUnitByCreateButton() resultVO.openClubProfileByChevronClick() if club.hasActiveUnit(): unitInfo = club.getUnitInfo() resultVO.showCreateButton( _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_JOINTEAM), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_JOINTEAM) if unitInfo.isInBattle(): isInBattleIcon = icons.makeImageTag( RES_ICONS.MAPS_ICONS_LIBRARY_SWORDSICON, 16, 16, -3, 0) resultVO.setClubDescription( text_styles.neutral( '%s %s' % (isInBattleIcon, _ms(CYBERSPORT. WINDOW_INTRO_TEAM_DESCRIPTION_TEAMINBATTLE)))) else: resultVO.setClubDescription( text_styles.neutral( CYBERSPORT. STATICFORMATIONPROFILEWINDOW_STATUSLBL_CLUBISCALLED )) else: canCreateUnit = limits.canCreateUnit(profile, club) if canCreateUnit.success: resultVO.setClubDescription( text_styles.neutral( CYBERSPORT. WINDOW_INTRO_TEAM_DESCRIPTION_ASSEMBLINGTEAM)) resultVO.showCreateButton( _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ASSEMBLETEAM) elif canCreateUnit.reason == CLIENT_CLUB_RESTRICTIONS.NOT_ENOUGH_MEMBERS: if club.getPermissions().isOwner(): resultVO.setClubDescription( text_styles.main( CYBERSPORT. WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPLAYERS) ) resultVO.showCreateButton( _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ADDPLAYERS), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ADDPLAYERS) else: resultVO.setClubDescription(text_styles.error( CYBERSPORT. WINDOW_INTRO_TEAM_DESCRIPTION_OWNERASSEMBLINGTEAM), isBackVisible=True) resultVO.showCreateButton( _ms('#cybersport:window/intro/create/btn/private/seeStaff' ), '#tooltips:cyberSport/intro/createBtn/addPlayers/private' ) resultVO.needAddPlayers() else: resultVO.setClubDescription(text_styles.error( CYBERSPORT. WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPERMISSIONS_ASSEMBLINGTEAM ), isBackVisible=True) resultVO.showCreateButton( _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM), '#tooltips:StaticFormationProfileWindow/actionBtn/notEnoughPermissions', enabled=False) elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.NO_CLUB: resultVO.setNoClubChevron(isApplicationSent=False) resultVO.setClubLabel( _ms(CYBERSPORT.WINDOW_INTRO_TEAM_HEADER_STATICTEAMS)) resultVO.setClubDescription( text_styles.main( CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_CREATEORFIND)) resultVO.showCreateButton( _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_LOOK), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_LOOK) elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.SENT_APP: resultVO.setNoClubChevron(isApplicationSent=True) resultVO.openClubProfileByChevronClick() if club is not None: resultVO.setClubLabel(club.getUserName()) resultVO.setClubLadderChevron(club) resultVO.setClubDescription( text_styles.neutral( CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_WAITINGFORREQUEST) ) resultVO.showCancelButton( _ms(CYBERSPORT.WINDOW_INTRO_CANCEL_BTN_LABEL), TOOLTIPS.CYBERSPORT_INTRO_CANCELBTN) resultVO.showAdditionalButton( _ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST), TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN) else: resultVO.fillDefault() resultVO.acceptNavigationByChevron(False) if isHourInForbiddenList( self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()): resultVO.setClubDescriptionTooltip( TOOLTIPS_CONSTANTS.LADDER_REGULATIONS) resultVO.setClubDescription( '{0}{1}'.format( icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)), True) self.as_setStaticTeamDataS(resultVO.getData())
def __makeProgresData(self): totalXP = self.refSystem.getTotalXP() currentXP = self.refSystem.getReferralsXPPool() progressText = '%(currentXP)s / %(totalXP)s %(icon)s' % { 'currentXP': text_styles.credits(BigWorld.wg_getIntegralFormat(currentXP)), 'totalXP': BigWorld.wg_getIntegralFormat(totalXP), 'icon': icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON, 16, 16, -3, 0) } text = i18n.makeString( MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_PROGRESS, progress=progressText) awardData = {} progresData = {'text': text_styles.main(text)} progressAlertText = '' if self.refSystem.isTotallyCompleted(): completedText = i18n.makeString( MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_COMPLETE) completedText = text_styles.middleTitle(completedText) awardData['completedText'] = completedText _, lastStepQuests = self.refSystem.getQuests()[-1] vehicleBonus = findFirst(lambda q: q.getBonuses('vehicles'), reversed(lastStepQuests)) vehicleBonusIcon = '' if vehicleBonus is not None: vehicleBonusIcon = vehicleBonus.getBonuses( 'vehicles')[0].getTooltipIcon() awardData['completedImage'] = vehicleBonusIcon else: stepsData = [] progress = 0.0 quests = self.refSystem.getQuests() totalQuestsCount = len( tuple(itertools.chain(*dict(quests).values()))) if quests and totalQuestsCount == self.TOTAL_QUESTS: currentCompletedStep = -1 totalSteps = len(quests) lastStep = totalSteps - 1 for i, (xp, events) in enumerate(quests): notCompleted = filter(lambda q: not q.isCompleted(), reversed(events)) lastNotCompleted = findFirst(None, notCompleted) if lastNotCompleted is not None: questIDs = map(methodcaller('getID'), notCompleted) icon = self.__getBonusIcon(lastNotCompleted) else: questIDs = map(methodcaller('getID'), events) icon = RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETE currentCompletedStep = i stepsData.append({ 'id': pickle.dumps((xp, questIDs)), 'icon': icon }) nextStep = min(currentCompletedStep + 1, lastStep) nextStepXP, _ = quests[nextStep] if currentXP: totalProgress = 0.0 currentCompletedStepXP = 0 oneStepWeight = 1.0 / totalSteps if currentCompletedStep != -1: currentCompletedStepXP, _ = quests[ currentCompletedStep] totalProgress = (currentCompletedStep + 1) * oneStepWeight xpForNextStep = nextStepXP - currentCompletedStepXP xpFromPrevStep = currentXP - currentCompletedStepXP if xpForNextStep <= 0: stepProgress = 1.0 elif xpFromPrevStep <= 0: stepProgress = 0.0 else: stepProgress = float(xpFromPrevStep) / xpForNextStep totalStepProgress = stepProgress * oneStepWeight progress = totalProgress + totalStepProgress else: LOG_WARNING('Referral quests is in invalid state: ', quests) progressAlertIcon = icons.alert() progressAlertText = text_styles.alert( i18n.makeString( MENU.REFERRALMANAGEMENTWINDOW_PROGRESSNOTAVAILABLE)) progressAlertText = i18n.makeString(progressAlertIcon + ' ' + progressAlertText) progresData.update({'steps': stepsData, 'progress': progress}) if progressAlertText != '': self.as_showAlertS(progressAlertText) elif self.refSystem.isTotallyCompleted(): self.as_setAwardDataDataS(awardData) else: self.as_setProgressDataS(progresData) return
def formatPriceAlert(value): return '{0} {1}'.format(icons.alert(), text_styles.errCurrencyTextBig(value))
def __prepareHeaderData(self): fort = self.fortCtrl.getFort() isDefencePeriodActivated = fort.isDefenceHourEnabled() inProcess, _ = fort.getDefenceHourProcessing() isDefenceOn = isDefencePeriodActivated or inProcess buildingIcon = FortViewHelper.getPopoverIconSource(self._buildingUID, self.__buildingLevel, isDefenceOn=isDefenceOn) result = {'buildingName': i18n.makeString(FORT.buildings_buildingname(self._buildingUID)), 'buildingIcon': buildingIcon} buildLevel = self.__convertBuildLevel(self.__buildingLevel) result['buildLevel'] = i18n.makeString(FORT.BUILDINGPOPOVER_HEADER_LEVELSLBL, buildLevel=buildLevel) upgradeBtnVisible = False upgradeBtnEnable = False localTooltip = '' if self._canModernization(self.__buildingDescr): upgradeBtnVisible = upgradeBtnEnable = True localTooltip = TOOLTIPS.FORTIFICATION_POPOVER_UPGRADEFOUNDATIONBTN if upgradeBtnVisible: if not self._isEnableModernizationBtnByDamaged(self.__buildingDescr): upgradeBtnEnable = False localTooltip = TOOLTIPS.FORTIFICATION_POPOVER_UPGRADEBTN_DISABLEDBYDESTROY elif not self._isEnableModernizationBtnByProgress(self.__buildingDescr): upgradeBtnEnable = False localTooltip = TOOLTIPS.FORTIFICATION_POPOVER_UPGRADEFOUNDATIONBTN_DISABLED result['upgradeButtonToolTip'] = localTooltip result['showUpgradeButton'] = upgradeBtnVisible result['enableUpgradeBtn'] = upgradeBtnEnable isVisibleDemountBtn = self._isVisibleDemountBtn(self.__buildingDescr) result['isVisibleDemountBtn'] = isVisibleDemountBtn if isVisibleDemountBtn: result['enableDemountBtn'] = self._isEnableDemountBtn(self.__buildingDescr) result['demountBtnTooltip'] = TOOLTIPS.FORTIFICATION_POPOVER_DEMOUNTBTN header, body, filterColor = self.__makeHeaderStatusMessage() result['titleStatus'] = header result['bodyStatus'] = body result['glowColor'] = int(filterColor, 16) result['isModernization'] = self.__canUpgrade result['canDeleteBuilding'] = self.fortCtrl.getPermissions().canDeleteBuilding() if self.__progress is ALIAS.STATE_BUILDING and isDefencePeriodActivated: nextMapTimestamp, nextMapID, curMapID = self.fortCtrl.getFort().getBuildingMaps(self._buildingID) isMapsInfoEnabled = nextMapTimestamp > 0 if self.__buildingLevel < fortified_regions.g_cache.defenceConditions.minRegionLevel: mapIcon = icons.alert() mapMsg = text_styles.alert(i18n.makeString(FORT.BUILDINGPOPOVER_MAPINFO_NOBATTLE)) header = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_NOBATTLE_HEADER) body = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_NOBATTLE_BODY) isToolTipSpecial = False elif isMapsInfoEnabled: currentMapUserName = self.__getMapUserName(curMapID) mapIcon = icons.info() mapMsg = text_styles.main(currentMapUserName) header = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_HEADER, currentMap=currentMapUserName) body = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_BODY, nextMap=self.__getMapUserName(nextMapID), changeDate=BigWorld.wg_getLongDateFormat(nextMapTimestamp), changeTime=BigWorld.wg_getShortTimeFormat(nextMapTimestamp)) isToolTipSpecial = True else: mapIcon = mapMsg = '' isToolTipSpecial = False mapInfo = i18n.makeString(mapIcon + ' ' + mapMsg) result['mapInfo'] = mapInfo result['isToolTipSpecial'] = isToolTipSpecial result['tooltipData'] = {'mapName': header, 'description': body, 'imageURL': self.__getMapImage(curMapID)} return result
def __prepareActionData(self): result = {} enableActionBtn = False if self._isBaseBuilding: if self.__isCommander: result['currentState'] = self.ACTION_STATES.BASE_COMMANDER resultConcat = ''.join((text_styles.main(i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)), text_styles.neutral(self.__directionOpened))) result['generalLabel'] = resultConcat result['actionButtonLbl'] = i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_MANAGEMENT) enableActionBtn = True else: result['currentState'] = self.ACTION_STATES.BASE_NOT_COMMANDER resultConcat = ''.join((text_styles.main(i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)), text_styles.neutral(self.__directionOpened))) result['generalLabel'] = resultConcat elif self.__isCommander: if self.__buildingDescr.orderInProduction: orderCount = self.__buildingDescr.orderInProduction.get('count', 0) result['currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_ORDERED if self._isProductionInPause(self.__buildingDescr): result['productionInPause'] = True title = i18n.makeString(TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_HEADER) body = i18n.makeString(TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_BODY) result['pauseReasonTooltip'] = [title, body] overTime = i18n.makeString(FORT.BUILDINGPOPOVER_ORDERPROCESS_INPAUSE) orderTimeIcon = icons.alert() orderTimeMsg = text_styles.alert(overTime) orderTime = i18n.makeString(orderTimeIcon + ' ' + orderTimeMsg) else: overTime = i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARETIMEOVER) overTime = overTime + self.__orderTime orderTime = text_styles.neutral(overTime) orderTimer = ''.join((text_styles.main(i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARINGDEFRES)), text_styles.neutral(orderCount))) result['orderTimer'] = orderTimer result['timeOver'] = orderTime result['generalLabel'] = self.__makeGeneralActionLabel() else: result['currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_NOT_ORDERED result['generalLabel'] = self.__makeGeneralActionLabel() result['actionButtonLbl'] = i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_REQUESTDEFRES) enableActionBtn = True order = self.fortCtrl.getFort().getOrder(self.__orderID) if self.__defResVal < order.productionCost: enableActionBtn = False result['toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERDISABLE if order.maxCount <= order.count: enableActionBtn = False result['toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDEROVERLOAD if self._isBuildingDamaged(self.__buildingDescr) or self._isBaseBuildingDamaged() or self._isFortFrozen(): enableActionBtn = False header = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_HEADER body = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_BODY result['toolTipData'] = makeTooltip(header, body) if enableActionBtn: orderName = i18n.makeString(FORT.orders_orderpopover_ordertype(self.getOrderUIDbyID(self.__orderID))) result['toolTipData'] = i18n.makeString(TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERENABLE, orderName=orderName) else: result['currentState'] = self.ACTION_STATES.NOT_BASE_NOT_COMMANDER result['generalLabel'] = 'unVISIBLE' result['actionButtonLbl'] = 'unVISIBLE' result['enableActionButton'] = enableActionBtn and not self.__isTutorial return result
def __updateHeader(self): club = self.clubsCtrl.getClub(self.__clubDBID) canSetRanked = club is not None and club.getPermissions().canSetRanked() seasonState = self.clubsCtrl.getSeasonState() modeLabel = '' modeTooltip = '' modeTooltipType = '' isFixedMode = True isModeTooltip = False if self.__extra.isRatedBattle: isFixedMode = not canSetRanked if canSetRanked: modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETUNRANKEDMODE else: modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_RANKEDMODE elif seasonState.isSuspended(): modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSED isModeTooltip = True modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX modeTooltip = makeTooltip(CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_HEADER, CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_BODY) elif seasonState.isFinished(): modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHED isModeTooltip = True modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX modeTooltip = makeTooltip(CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_HEADER, CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_BODY) elif canSetRanked: isFixedMode = False modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETRANKEDMODE if len(modeLabel): if canSetRanked and seasonState.isActive() or self.__extra.isRatedBattle: modeLabel = text_styles.neutral(modeLabel) else: modeLabel = text_styles.standard(modeLabel) if isHourInForbiddenList(self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()): modeLabel = '{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)) isFixedMode = True isModeTooltip = True modeTooltipType = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS bgSource = RES_ICONS.MAPS_ICONS_LIBRARY_CYBERSPORT_LEAGUERIBBONS_UNRANKED battles = self.ABSENT_VALUES winRate = self.ABSENT_VALUES leagueIcon = getLadderChevron64x64() enableWinRateTF = False if club is not None: clubTotalStats = club.getTotalDossier().getTotalStats() battles = BigWorld.wg_getNiceNumberFormat(clubTotalStats.getBattlesCount()) division = club.getLadderInfo().division leagueIcon = getLadderChevron64x64(division) winRateValue = ProfileUtils.getValueOrUnavailable(clubTotalStats.getWinsEfficiency()) if winRateValue != ProfileUtils.UNAVAILABLE_VALUE: enableWinRateTF = True winRate = ProfileUtils.formatFloatPercent(winRateValue) else: winRate = self.ABSENT_VALUES if self.__extra.isRatedBattle: bgSource = getLadderBackground(division) self.requestClubEmblem64x64(club.getClubDbID(), club.getEmblem64x64()) self.as_setHeaderDataS({'clubId': self.__extra.clubDBID, 'teamName': self.__extra.clubName, 'isRankedMode': bool(self.__extra.isRatedBattle), 'battles': battles, 'winRate': winRate, 'enableWinRateTF': enableWinRateTF, 'leagueIcon': leagueIcon, 'isFixedMode': isFixedMode, 'modeLabel': modeLabel, 'modeTooltip': modeTooltip, 'bgSource': bgSource, 'modeTooltipType': modeTooltipType, 'isModeTooltip': isModeTooltip}) return
def atReturn(self, cd): cd.self.as_showMiniClientInfoS('{0} {1}'.format(icons.alert(-3), text_styles.main(_ms('#miniclient:battle_type_select_popover/message'))), _ms('#miniclient:personal_quests_welcome_view/continue_download'))