def __pe_onBattleResultsReceived(self, isActiveVehicle, _): if isActiveVehicle: arena = getClientArena() LOG_DEBUG('Try to exit from arena', arena) if arena: self.__ctx.lastArenaUniqueID = arena.arenaUniqueID leaveArena()
def switch(self, scope): self.__targetIDs = [] if scope != MESSENGER_SCOPE.BATTLE: return arena = getClientArena() if arena: arena.onVehicleKilled += self.__onVehicleKilled
def _setTipsInfo(self): arena = arena_info.getClientArena() arenaDP = self._battleCtx.getArenaDP() if arena_info.hasResourcePoints(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTRESOURCEPOINTSEVENT elif arena_info.hasFlags(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT else: bgUrl = '' if self.__isFallout: self.as_setEventInfoPanelDataS({'bgUrl': bgUrl, 'items': getHelpTextAsDicts(arena_info.getArenaType())}) self.as_setVisualTipInfoS(self.__makeVisualTipVO(arenaDP, arena)) elif not self.__isTipInited: battlesCount = DEFAULT_BATTLES_COUNT if g_lobbyContext.getBattlesCount() is not None: battlesCount = g_lobbyContext.getBattlesCount() classTag, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo() criteria = tips.getTipsCriteria(arena) criteria.setBattleCount(battlesCount) criteria.setClassTag(classTag) criteria.setLevel(vLvl) criteria.setNation(nation) tip = criteria.find() self.as_setTipTitleS(text_styles.highTitle(tip.status)) self.as_setTipS(text_styles.playerOnline(tip.body)) self.as_setVisualTipInfoS(self.__makeVisualTipVO(arenaDP, arena, tip)) self.__isTipInited = True return
def __addArenaExtraData(self, arenaDP): arena = getClientArena() if arena: extraData = arena.extraData or {} descExtra = getPrebattleFullDescription(extraData) arenaTypeID = getArenaTypeID() arenaSubType = getArenaSubTypeName(arenaTypeID) team = arenaDP.getNumberOfTeam() enemy = arenaDP.getNumberOfTeam(True) hasBase = isBaseExists(arenaTypeID, team) opponents = extraData.get('opponents', {}) team1 = opponents.get(str(team), {}).get('name', '#menu:loading/team1') team2 = opponents.get(str(enemy), {}).get('name', '#menu:loading/team2') self.as_setTeamsS(team1, team2) if arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES: self.as_setWinTextS(i18n.makeString('#arenas:type/fallout/description')) else: self.as_setWinTextS(getBattleSubTypeWinText(arenaTypeID, 1 if hasBase else 2)) if descExtra: self.as_setBattleTypeNameS(descExtra) self.as_setBattleTypeFrameNumS(arena.guiType + 1) elif arena.guiType in [constants.ARENA_GUI_TYPE.RANDOM, constants.ARENA_GUI_TYPE.TRAINING]: self.as_setBattleTypeNameS('#arenas:type/%s/name' % arenaSubType) self.as_setBattleTypeFrameNameS(getNecessaryArenaFrameName(arenaSubType, hasBase)) if arena.guiType == constants.ARENA_GUI_TYPE.TRAINING and self.__logArenaUniID == False: self.__logArenaUniID = True from time import strftime, localtime from debug_utils import LOG_NOTE LOG_NOTE('arenaUniqueID: %d | timestamp: %s' % (arena.arenaUniqueID, strftime('%d.%m.%Y %H:%M:%S', localtime()))) else: self.as_setBattleTypeNameS('#menu:loading/battleTypes/%d' % arena.guiType) if arena.guiType in constants.ARENA_GUI_TYPE_LABEL.LABELS: self.as_setBattleTypeFrameNameS(constants.ARENA_GUI_TYPE_LABEL.LABELS[arena.guiType]) else: self.as_setBattleTypeFrameNumS(arena.guiType + 1)
def start(self, arenaDP = None): if arenaDP is None: LOG_ERROR('Arena data provider is None') return else: self._dataProvider = arenaDP arena = getClientArena() if arena is None: LOG_NOTE('Arena not found') return self._arena = weakref.ref(arena) self._dataProvider.buildVehiclesData(self._arena().vehicles, self._arena().guiType) self._dataProvider.buildStatsData(self._arena().statistics) arena.onNewVehicleListReceived += self.__arena_onNewVehicleListReceived arena.onVehicleAdded += self.__arena_onVehicleAdded arena.onVehicleUpdated += self.__arena_onVehicleUpdated arena.onVehicleKilled += self.__arena_onVehicleKilled arena.onAvatarReady += self.__arena_onAvatarReady arena.onNewStatisticsReceived += self.__arena_onNewStatisticsReceived arena.onVehicleStatisticsUpdate += self.__arena_onVehicleStatisticsUpdate arena.onTeamKiller += self.__arena_onTeamKiller arena.onRespawnAvailableVehicles += self.__arena_onRespawnAvailableVehicles arena.onRespawnCooldowns += self.__arena_onRespawnCooldowns arena.onRespawnRandomVehicle += self.__arena_onRespawnRandomVehicle arena.onRespawnResurrected += self.__arena_onRespawnResurrected arena.onInteractiveStats += self.__arena_onInteractiveStats return
def __addArenaTypeData(self): arena = getClientArena() if arena: arenaType = arena.arenaType self.as_setMapNameS(arenaType.name) self.as_setMapBGS(BattleLoading.MAP_BG_SOURCE % arenaType.geometryName) self.as_setTipS(tips.getTip())
def _setTipsInfo(self): arena = getClientArena() isFallout = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES arenaDP = self._battleCtx.getArenaDP() if hasResourcePoints(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTRESOURCEPOINTSEVENT elif hasFlags(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT else: bgUrl = '' if isFallout: self.as_setEventInfoPanelDataS({'bgUrl': bgUrl, 'items': getHelpTextAsDicts(arena.arenaType)}) elif not self.__isTipInited: battlesCount = DEFAULT_BATTLES_COUNT if g_lobbyContext.getBattlesCount() is not None: battlesCount = g_lobbyContext.getBattlesCount() vType, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo() tipsIterator = tips.getTipsIterator(arena.guiType, battlesCount, vType, nation, vLvl) statusStr, tipStr = ('', '') if tipsIterator is not None: statusStr, tipStr = next(tipsIterator) else: LOG_ERROR('No required tips found') self.as_setTipTitleS(text_styles.highTitle(statusStr)) self.as_setTipS(text_styles.playerOnline(tipStr)) self.__isTipInited = True return
def _setTipsInfo(self): self.as_setEventInfoPanelDataS({ 'bgUrl': RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT, 'items': getHelpTextAsDicts(getClientArena().arenaType) })
def _addArenaTypeData(self): arena = getClientArena() if arena: arenaType = arena.arenaType self.as_setMapIconS(BattleLoading.SMALL_MAP_SOURCE % arenaType.geometryName) super(BattleLoading, self)._addArenaTypeData()
def _setTipsInfo(self): arena = getClientArena() isFallout = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES arenaDP = self._battleCtx.getArenaDP() if hasResourcePoints(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTRESOURCEPOINTSEVENT elif hasFlags(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT else: bgUrl = '' if isFallout: self.as_setEventInfoPanelDataS({ 'bgUrl': bgUrl, 'items': getHelpTextAsDicts(arena.arenaType) }) elif not self.__isTipInited: battlesCount = DEFAULT_BATTLES_COUNT if g_lobbyContext.getBattlesCount() is not None: battlesCount = g_lobbyContext.getBattlesCount() vType, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo() tipsIterator = tips.getTipsIterator(arena.guiType, battlesCount, vType, nation, vLvl) statusStr, tipStr = ('', '') if tipsIterator is not None: statusStr, tipStr = next(tipsIterator) else: LOG_ERROR('No required tips found') self.as_setTipTitleS(text_styles.highTitle(statusStr)) self.as_setTipS(text_styles.playerOnline(tipStr)) self.__isTipInited = True
def __pe_onBattleResultsReceived(self, isActiveVehicle, _): if isActiveVehicle: arena = getClientArena() LOG_DEBUG('Try to exit from arena', arena) if arena: self.__ctx.lastArenaUniqueID = arena.arenaUniqueID leaveArena()
def __addArenaTypeData(self): arena = getClientArena() if arena: arenaType = arena.arenaType self.as_setMapNameS(arenaType.name) self.as_setMapBGS('none') BigWorld.wg_setGUIBackground(BattleLoading.MAP_BG_SOURCE % arenaType.geometryName) self.as_setTipS(tips.getTip())
def _addArenaExtraData(self, arenaDP): arena = getClientArena() winText = text_styles.main(FALLOUT.BATTLELOADING_MULTITEAM_WINTEXT) arenaInfoData = { 'battleTypeLocaleStr': arena.arenaType.name, 'winText': winText } self._setArenaInfo(arenaInfoData)
def switch(self, scope): self.__targetIDs = [] if scope != MESSENGER_SCOPE.BATTLE: return from gui.battle_control.arena_info import getClientArena arena = getClientArena() if arena: arena.onVehicleKilled += self.__onVehicleKilled
def switch(self, scope): self.__targetIDs = [] if scope != MESSENGER_SCOPE.BATTLE: return from gui.battle_control.arena_info import getClientArena arena = getClientArena() if arena: arena.onVehicleKilled += self.__onVehicleKilled
def updateStats(): arena = getClientArena() if arena != None: players = [] for pl in arena.vehicles.values(): players.append(pl['accountDBID']) Statistics.getEmo().updateList(players) else: Statistics.emo = None
def _populate(self): super(BattleLoading, self)._populate() arena = getClientArena() self.__isFalloutMultiTeam = getIsMultiteam() g_sessionProvider.addArenaCtrl(self) BigWorld.wg_updateColorGrading() BigWorld.wg_enableGUIBackground(True, False) self._addArenaTypeData() Waiting.close()
def updateStats(): arena = getClientArena() if arena != None: players = [] for pl in arena.vehicles.values(): players.append(pl['accountDBID']) Statistics.getEmo().updateList(players) else: Statistics.emo = None
def __addArenaTypeData(self): arena = getClientArena() if arena: arenaType = arena.arenaType mapBG = arenaType.geometryName if arena.guiType != constants.ARENA_GUI_TYPE.EVENT_BATTLES: self.as_setMapNameS(arenaType.name) elif arenaType.gameplayName in ('fallout', 'fallout2'): mapBG += '_fallout' BigWorld.wg_setGUIBackground(BattleLoading.MAP_BG_SOURCE % mapBG)
def __pe_onBattleResultsReceived(self, isActiveVehicle, _): """ It's listener of event _PlayerEvents.onBattleResultsReceived. :param isActiveVehicle: bool. """ if isActiveVehicle: arena = getClientArena() LOG_DEBUG('Try to exit from arena', arena) if arena: self.__ctx.lastArenaUniqueID = arena.arenaUniqueID leaveArena()
def _addArenaExtraData(self, arenaDP): arenaInfoData = {'mapName': self._battleCtx.getArenaTypeName(isInBattle=False), 'winText': self._battleCtx.getArenaWinString(isInBattle=False), 'battleTypeLocaleStr': self._battleCtx.getArenaDescriptionString(isInBattle=False), 'battleTypeFrameLabel': self._battleCtx.getArenaFrameLabel(), 'allyTeamName': self._battleCtx.getTeamName(enemy=False), 'enemyTeamName': self._battleCtx.getTeamName(enemy=True)} arena = arena_info.getClientArena() if arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL: arenaInfoData['tipText'] = text_styles.main(BATTLE_TUTORIAL.LOADING_HINT_TEXT) self.as_setArenaInfoS(arenaInfoData)
def __pe_onBattleResultsReceived(self, isActiveVehicle, _): """ It's listener of event _PlayerEvents.onBattleResultsReceived. :param isActiveVehicle: bool. """ if isActiveVehicle: arena = getClientArena() LOG_DEBUG('Try to exit from arena', arena) if arena: self.__ctx.lastArenaUniqueID = arena.arenaUniqueID leaveArena()
def _addArenaExtraData(self, arenaDP): arena = getClientArena() if arena: arenaType = arena.arenaType extraData = arena.extraData or {} descExtra = getPrebattleFullDescription(extraData) arenaTypeID = getArenaTypeID() arenaSubType = getArenaSubTypeName(arenaTypeID) team = arenaDP.getNumberOfTeam() enemy = arenaDP.getNumberOfTeam(True) hasBase = isBaseExists(arenaTypeID, team) allyTeamName, enemyTeamName = self._battleCtx.getTeamName( team), self._battleCtx.getTeamName(enemy) if arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES: winText = i18n.makeString('#arenas:type/%s/description' % arenaSubType) else: winText = getBattleSubTypeWinText(arenaTypeID, 1 if hasBase else 2) if descExtra: battleTypeLocaleStr = descExtra if arena.guiType != constants.ARENA_GUI_TYPE.UNKNOWN and arena.guiType in constants.ARENA_GUI_TYPE_LABEL.LABELS: battleTypeFrameLabel = constants.ARENA_GUI_TYPE_LABEL.LABELS[ arena.guiType] else: battleTypeFrameLabel = 'neutral' elif arena.guiType in [ constants.ARENA_GUI_TYPE.RANDOM, constants.ARENA_GUI_TYPE.TRAINING ]: battleTypeLocaleStr = '#arenas:type/%s/name' % arenaSubType battleTypeFrameLabel = getNecessaryArenaFrameName( arenaSubType, hasBase) elif arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES and hasResourcePoints( ): battleTypeFrameLabel = 'resourcePoints' battleTypeLocaleStr = MENU.LOADING_BATTLETYPES_RESOURCEPOINTS else: battleTypeLocaleStr = '#menu:loading/battleTypes/%d' % arena.guiType if arena.guiType != constants.ARENA_GUI_TYPE.UNKNOWN and arena.guiType in constants.ARENA_GUI_TYPE_LABEL.LABELS: battleTypeFrameLabel = constants.ARENA_GUI_TYPE_LABEL.LABELS[ arena.guiType] else: battleTypeFrameLabel = 'neutral' arenaInfoData = { 'mapName': arenaType.name, 'winText': winText, 'battleTypeLocaleStr': battleTypeLocaleStr, 'battleTypeFrameLabel': battleTypeFrameLabel, 'allyTeamName': allyTeamName, 'enemyTeamName': enemyTeamName } self._setArenaInfo(arenaInfoData)
def invalidateVehiclesInfo(self, arenaDP): regionGetter = self._battleCtx.getRegionCode isSpeaking = self.app.voiceChatManager.isPlayerSpeaking userGetter = self.usersStorage.getUser actionGetter = VehicleActions.getBitMask playerTeam = arenaDP.getNumberOfTeam() arena = getClientArena() isFallout = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES for isEnemy in (False, True): result = [] for vInfoVO, _, viStatsVO in arenaDP.getVehiclesIterator(isEnemy): result.append(self._makeItem(vInfoVO, viStatsVO, userGetter, isSpeaking, actionGetter, regionGetter, playerTeam, isEnemy, self._getSquadIdx(arenaDP, vInfoVO), isFallout)) self._setVehiclesData(isEnemy, result)
def __init__(self, avatar = None): super(ArenaDataProvider, self).__init__() self.__playerTeam = avatar_getter.getPlayerTeam(avatar) self.__teamsOnArena = range(1, arena_info.getMaxTeamsOnArena(avatar) + 1) self.__playerVehicleID = avatar_getter.getPlayerVehicleID(avatar) self.__vInfoVOs = {} self.__vStatsVOs = arena_vos.VehicleArenaStatsDict() self.__prbStats = {} self.__playersVIDs = {} self.__viStatsVOs = arena_vos.VehicleArenaInteractiveStatsDict() self.__teamsVIStats = {} self.__teamSquadIndices = {} self.__invitationStatuses = {} self.__description = arena_descrs.createDescription(arena_info.getClientArena(avatar)) fo_precache.add(settings.UNKNOWN_CONTOUR_ICON_RES_PATH)
def __init__(self, avatar=None): super(ArenaDataProvider, self).__init__() self.__playerTeam = avatar_getter.getPlayerTeam(avatar) self.__teamsOnArena = range(1, arena_info.getMaxTeamsOnArena(avatar) + 1) self.__playerVehicleID = avatar_getter.getPlayerVehicleID(avatar) self.__vInfoVOs = {} self.__vStatsVOs = arena_vos.VehicleArenaStatsDict() self.__prbStats = {} self.__playersVIDs = {} self.__viStatsVOs = arena_vos.VehicleArenaInteractiveStatsDict() self.__teamsVIStats = {} self.__teamSquadIndices = {} self.__invitationStatuses = {} self.__description = arena_descrs.createDescription( arena_info.getClientArena(avatar)) fo_precache.add(settings.UNKNOWN_CONTOUR_ICON_RES_PATH)
def invalidateVehiclesInfo(self, arenaDP): regionGetter = self._battleCtx.getRegionCode isSpeaking = self.app.voiceChatManager.isPlayerSpeaking userGetter = self.usersStorage.getUser actionGetter = VehicleActions.getBitMask playerTeam = arenaDP.getNumberOfTeam() arena = getClientArena() isFallout = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES for isEnemy in (False, True): result = [] for vInfoVO, _, viStatsVO in arenaDP.getVehiclesIterator(isEnemy): result.append( self._makeItem(vInfoVO, viStatsVO, userGetter, isSpeaking, actionGetter, regionGetter, playerTeam, isEnemy, self._getSquadIdx(arenaDP, vInfoVO), isFallout)) self._setVehiclesData(isEnemy, result)
def start(self, avatar=None): import BattleReplay replayCtrl = BattleReplay.g_replayCtrl isReplayRecording = replayCtrl.isRecording isReplayPlaying = replayCtrl.isPlaying self.__arenaDP = ArenaDataProvider(avatar=avatar) self.__ctx.start(self.__arenaDP) self.__ammoCtrl = consumables.createAmmoCtrl(isReplayPlaying, isReplayRecording) self.__equipmentsCtrl = consumables.createEquipmentCtrl( isReplayPlaying) self.__optDevicesCtrl = consumables.createOptDevicesCtrl() self.__vehicleStateCtrl = vehicle_state_ctrl.createCtrl( isReplayRecording) isMultiTeam = self.__arenaDP.isMultipleTeams() self.__arenaLoadCtrl = ArenaLoadController(isMultiTeam) self.__arenaTeamsBasesCtrl = createTeamsBasesCtrl(isReplayPlaying) self.__periodCtrl = createPeriodCtrl(isReplayPlaying, isReplayRecording) self.__drrScaleCtrl = DRRScaleController() self.__respawnsCtrl = RespawnsController() self.__repairCtrl = RepairController() self.__dynSquadFunctional = DynSquadFunctional() self.__notificationsCtrl = NotificationsController(self.__arenaDP) ctx = weakref.proxy(self.__ctx) self.__arenaListeners = ListenersCollection() self.__arenaListeners.addController(ctx, self.__arenaLoadCtrl) self.__arenaListeners.addController(ctx, self.__arenaTeamsBasesCtrl) self.__arenaListeners.addController(ctx, self.__periodCtrl) self.__arenaListeners.addController(ctx, self.__respawnsCtrl) self.__arenaListeners.start(getClientArena(avatar=avatar), arenaDP=self.__arenaDP) self.__feedback = createFeedbackAdaptor(isReplayPlaying) self.__feedback.start(self.__arenaDP) self.__messagesCtrl = createBattleMessagesCtrl(isReplayPlaying) self.__messagesCtrl.start(ctx) self.__hitDirectionCtrl = HitDirectionController() self.__hitDirectionCtrl.start() g_playerEvents.onBattleResultsReceived += self.__pe_onBattleResultsReceived self.__chatCommands = ChatCommandsController() self.__chatCommands.start(self.__arenaDP, self.__feedback) self.__requestsCtrl = AvatarRequestsController() self.__avatarStatsCtrl = AvatarStatsController()
def __setTipsInfo(self): showFalloutEventInfo = False arena = getClientArena() if arena is not None: showFalloutEventInfo = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES if showFalloutEventInfo: self.as_setEventInfoPanelDataS({'bgUrl': RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTEVENT, 'items': FalloutInfoPanelHelper.getHelpTextAsDicts(arena.arenaType)}) elif self.__updateTipTI is None: battlesCount = DEFAULT_BATTLES_COUNT if g_lobbyContext.getBattlesCount() is not None: battlesCount = g_lobbyContext.getBattlesCount() arenaDP = self.__battleCtx.getArenaDP() vType, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo() self.__tipsGetter = tips.getTipsIterator(battlesCount, vType, nation, vLvl) if self.__tipsGetter is not None: self._updateTipsInfo() self.__updateTipTI = TimeInterval(NEW_TIP_DURATION, self, '_updateTipsInfo') self.__updateTipTI.start() return
def _addArenaExtraData(self, arenaDP): arena = getClientArena() if arena: arenaType = arena.arenaType extraData = arena.extraData or {} descExtra = getPrebattleFullDescription(extraData) arenaTypeID = getArenaTypeID() arenaSubType = getArenaSubTypeName(arenaTypeID) team = arenaDP.getNumberOfTeam() enemy = arenaDP.getNumberOfTeam(True) hasBase = isBaseExists(arenaTypeID, team) allyTeamName, enemyTeamName = self._battleCtx.getTeamName(team), self._battleCtx.getTeamName(enemy) if arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES: winText = i18n.makeString('#arenas:type/%s/description' % arenaSubType) else: winText = getBattleSubTypeWinText(arenaTypeID, 1 if hasBase else 2) if descExtra: battleTypeLocaleStr = descExtra if arena.guiType != constants.ARENA_GUI_TYPE.UNKNOWN and arena.guiType in constants.ARENA_GUI_TYPE_LABEL.LABELS: battleTypeFrameLabel = constants.ARENA_GUI_TYPE_LABEL.LABELS[arena.guiType] else: battleTypeFrameLabel = 'neutral' elif arena.guiType in [constants.ARENA_GUI_TYPE.RANDOM, constants.ARENA_GUI_TYPE.TRAINING]: battleTypeLocaleStr = '#arenas:type/%s/name' % arenaSubType battleTypeFrameLabel = getNecessaryArenaFrameName(arenaSubType, hasBase) elif arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES and hasResourcePoints(): battleTypeFrameLabel = 'resourcePoints' battleTypeLocaleStr = MENU.LOADING_BATTLETYPES_RESOURCEPOINTS else: battleTypeLocaleStr = '#menu:loading/battleTypes/%d' % arena.guiType if arena.guiType != constants.ARENA_GUI_TYPE.UNKNOWN and arena.guiType in constants.ARENA_GUI_TYPE_LABEL.LABELS: battleTypeFrameLabel = constants.ARENA_GUI_TYPE_LABEL.LABELS[arena.guiType] else: battleTypeFrameLabel = 'neutral' arenaInfoData = {'mapName': arenaType.name, 'winText': winText, 'battleTypeLocaleStr': battleTypeLocaleStr, 'battleTypeFrameLabel': battleTypeFrameLabel, 'allyTeamName': allyTeamName, 'enemyTeamName': enemyTeamName} self._setArenaInfo(arenaInfoData)
def start(self, avatar=None): import BattleReplay replayCtrl = BattleReplay.g_replayCtrl isReplayRecording = replayCtrl.isRecording isReplayPlaying = replayCtrl.isPlaying self.__arenaDP = ArenaDataProvider(avatar=avatar) self.__ctx.start(self.__arenaDP) self.__ammoCtrl = consumables.createAmmoCtrl(isReplayPlaying, isReplayRecording) self.__equipmentsCtrl = consumables.createEquipmentCtrl(isReplayPlaying) self.__optDevicesCtrl = consumables.createOptDevicesCtrl() self.__vehicleStateCtrl = vehicle_state_ctrl.createCtrl(isReplayRecording) isMultiTeam = self.__arenaDP.isMultipleTeams() self.__arenaLoadCtrl = ArenaLoadController(isMultiTeam) self.__arenaTeamsBasesCtrl = createTeamsBasesCtrl(isReplayPlaying) self.__periodCtrl = createPeriodCtrl(isReplayPlaying, isReplayRecording) self.__drrScaleCtrl = DRRScaleController() self.__respawnsCtrl = RespawnsController() self.__repairCtrl = RepairController() self.__dynSquadFunctional = DynSquadFunctional() self.__notificationsCtrl = NotificationsController(self.__arenaDP) ctx = weakref.proxy(self.__ctx) self.__arenaListeners = ListenersCollection() self.__arenaListeners.addController(ctx, self.__arenaLoadCtrl) self.__arenaListeners.addController(ctx, self.__arenaTeamsBasesCtrl) self.__arenaListeners.addController(ctx, self.__periodCtrl) self.__arenaListeners.addController(ctx, self.__respawnsCtrl) self.__arenaListeners.start(getClientArena(avatar=avatar), arenaDP=self.__arenaDP) self.__feedback = createFeedbackAdaptor(isReplayPlaying) self.__feedback.start(self.__arenaDP) self.__messagesCtrl = createBattleMessagesCtrl(isReplayPlaying) self.__messagesCtrl.start(ctx) self.__hitDirectionCtrl = HitDirectionController() self.__hitDirectionCtrl.start() g_playerEvents.onBattleResultsReceived += self.__pe_onBattleResultsReceived self.__chatCommands = ChatCommandsController() self.__chatCommands.start(self.__arenaDP, self.__feedback) self.__requestsCtrl = AvatarRequestsController() self.__avatarStatsCtrl = AvatarStatsController()
def _addArenaTypeData(self): arena = getClientArena() if arena: arenaType = arena.arenaType self.as_setMapIconS(BattleLoading.SMALL_MAP_SOURCE % arenaType.geometryName) BigWorld.wg_setGUIBackground(getArenaIcon(BattleLoading.MAP_BG_SOURCE))
def new_setTipsInfo(self): DEFAULT_BATTLES_COUNT = 100 arena = getClientArena() isFallout = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES arenaDP = self._battleCtx.getArenaDP() if hasResourcePoints(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTRESOURCEPOINTSEVENT elif hasFlags(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT else: bgUrl = '' if isFallout: self.as_setEventInfoPanelDataS({'bgUrl': bgUrl, 'items': getHelpTextAsDicts(arena.arenaType)}) if not self._BattleLoading__isTipInited: battlesCount = DEFAULT_BATTLES_COUNT if g_lobbyContext.getBattlesCount() is not None: battlesCount = g_lobbyContext.getBattlesCount() vType, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo() tipsIterator = tips.getTipsIterator(arena.guiType, battlesCount, vType, nation, vLvl) statusStr, tipStr = ('', '') if tipsIterator is not None: statusStr, tipStr = next(tipsIterator) else: LOG_ERROR('No required tips found') self.as_setTipTitleS(text_styles.highTitle(statusStr)) #------win chance---- content = text_styles.playerOnline(tipStr) if Statistics.myConf['win_chance_enable'] and Statistics.okCw(): win_chance = Statistics.getWinChance() if win_chance: arenaTypeID = getArenaTypeID() colour = '#ff0000' if win_chance < 49: colour = '#ff0000' elif win_chance >= 49 and win_chance <= 51: colour = '#ffff00' elif win_chance > 51: colour = '#00ff00' formatz = {'win_chance':win_chance,'color':colour} content += Statistics.myConf['win_chance_text'].format(**formatz) self.as_setTipS(content) #--------------------- #----- table ---------- if Statistics.myConf['table_enable'] and Statistics.okCw(): x, y = GUI.screenResolution() Statistics.table = BattleLoadingBarTable(Statistics.myConf['table_texture']) Statistics.table.setWidthMode('PIXEL') Statistics.table.setHeightMode('PIXEL') Statistics.table.setVerticalPositionMode('PIXEL') Statistics.table.setHorizontalPositionMode('PIXEL') Statistics.table.setHorizontalAnchor('LEFT') Statistics.table.setVerticalAnchor('TOP') Statistics.table.setWidth(Statistics.myConf['table_width'])#400 Statistics.table.setHeight(Statistics.myConf['table_height'])#5 Statistics.table.setPosition(eval(Statistics.myConf['table_position'])) Statistics.table.setMaterialFx(Statistics.myConf['table_materialFX']) Statistics.table.setColor(eval(Statistics.myConf['table_color'])) Statistics.table.setVisible(True) Statistics.table.add() config = {} config['texture'] = Statistics.myConf['table_bars_texture'] config['width'] = Statistics.myConf['table_bars_width'] config['height'] = Statistics.myConf['table_bars_height'] config['position'] = eval(Statistics.myConf['table_bars_position']) config['delta'] = Statistics.myConf['table_bars_delta'] config['font'] = Statistics.myConf['table_bars_font'] config['materialFX'] = Statistics.myConf['table_bars_materialFX'] config['color'] = (eval(Statistics.myConf['table_bars_color'][0]),eval(Statistics.myConf['table_bars_color'][1])) config[VEHICLE_CLASS_NAME.LIGHT_TANK] = Statistics.myConf[VEHICLE_CLASS_NAME.LIGHT_TANK] config[VEHICLE_CLASS_NAME.MEDIUM_TANK] = Statistics.myConf[VEHICLE_CLASS_NAME.MEDIUM_TANK] config[VEHICLE_CLASS_NAME.HEAVY_TANK] = Statistics.myConf[VEHICLE_CLASS_NAME.HEAVY_TANK] config[VEHICLE_CLASS_NAME.SPG] = Statistics.myConf[VEHICLE_CLASS_NAME.SPG] config[VEHICLE_CLASS_NAME.AT_SPG] = Statistics.myConf[VEHICLE_CLASS_NAME.AT_SPG] config['table_bars_label'] = Statistics.myConf['table_bars_label'] config['table_bars_odd_pos'] = Statistics.myConf['table_bars_label_pos'] config['show_label'] = Statistics.myConf['table_bars_tankType_show'] config['show_perc'] = Statistics.myConf['table_bars_label_show'] config['align'] = Statistics.myConf['table_bars_align'] Statistics.table.addBars(config) #--------------------- self._BattleLoading__isTipInited = True return
def _addArenaExtraData(self, arenaDP): arena = getClientArena() winText = text_styles.main(FALLOUT.BATTLELOADING_MULTITEAM_WINTEXT) arenaInfoData = {'battleTypeLocaleStr': arena.arenaType.name, 'winText': winText} self._setArenaInfo(arenaInfoData)
def _setTipsInfo(self): self.as_setEventInfoPanelDataS({'bgUrl': RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT, 'items': getHelpTextAsDicts(getClientArena().arenaType)})
def _addArenaTypeData(self): arena = getClientArena() if arena: arenaType = arena.arenaType self.as_setMapIconS(BattleLoading.SMALL_MAP_SOURCE % arenaType.geometryName) super(BattleLoading, self)._addArenaTypeData()
def new_setTipsInfo(self): DEFAULT_BATTLES_COUNT = 100 arena = getClientArena() isFallout = arena.guiType == constants.ARENA_GUI_TYPE.EVENT_BATTLES arenaDP = self._battleCtx.getArenaDP() if hasResourcePoints(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTRESOURCEPOINTSEVENT elif hasFlags(): bgUrl = RES_ICONS.MAPS_ICONS_EVENTINFOPANEL_FALLOUTFLAGSEVENT else: bgUrl = '' if isFallout: self.as_setEventInfoPanelDataS({ 'bgUrl': bgUrl, 'items': getHelpTextAsDicts(arena.arenaType) }) if not self._BattleLoading__isTipInited: battlesCount = DEFAULT_BATTLES_COUNT if g_lobbyContext.getBattlesCount() is not None: battlesCount = g_lobbyContext.getBattlesCount() vType, vLvl, nation = arenaDP.getVehicleInfo().getTypeInfo() tipsIterator = tips.getTipsIterator(arena.guiType, battlesCount, vType, nation, vLvl) statusStr, tipStr = ('', '') if tipsIterator is not None: statusStr, tipStr = next(tipsIterator) else: LOG_ERROR('No required tips found') self.as_setTipTitleS(text_styles.highTitle(statusStr)) #------win chance---- content = text_styles.playerOnline(tipStr) if Statistics.myConf['win_chance_enable'] and Statistics.okCw(): win_chance = Statistics.getWinChance() if win_chance: arenaTypeID = getArenaTypeID() colour = '#ff0000' if win_chance < 49: colour = '#ff0000' elif win_chance >= 49 and win_chance <= 51: colour = '#ffff00' elif win_chance > 51: colour = '#00ff00' formatz = {'win_chance': win_chance, 'color': colour} content += Statistics.myConf['win_chance_text'].format( **formatz) self.as_setTipS(content) #--------------------- #----- table ---------- if Statistics.myConf['table_enable'] and Statistics.okCw(): x, y = GUI.screenResolution() Statistics.table = BattleLoadingBarTable( Statistics.myConf['table_texture']) Statistics.table.setWidthMode('PIXEL') Statistics.table.setHeightMode('PIXEL') Statistics.table.setVerticalPositionMode('PIXEL') Statistics.table.setHorizontalPositionMode('PIXEL') Statistics.table.setHorizontalAnchor('LEFT') Statistics.table.setVerticalAnchor('TOP') Statistics.table.setWidth( Statistics.myConf['table_width']) #400 Statistics.table.setHeight( Statistics.myConf['table_height']) #5 Statistics.table.setPosition( eval(Statistics.myConf['table_position'])) Statistics.table.setMaterialFx( Statistics.myConf['table_materialFX']) Statistics.table.setColor( eval(Statistics.myConf['table_color'])) Statistics.table.setVisible(True) Statistics.table.add() config = {} config['texture'] = Statistics.myConf['table_bars_texture'] config['width'] = Statistics.myConf['table_bars_width'] config['height'] = Statistics.myConf['table_bars_height'] config['position'] = eval( Statistics.myConf['table_bars_position']) config['delta'] = Statistics.myConf['table_bars_delta'] config['font'] = Statistics.myConf['table_bars_font'] config['materialFX'] = Statistics.myConf[ 'table_bars_materialFX'] config['color'] = ( eval(Statistics.myConf['table_bars_color'][0]), eval(Statistics.myConf['table_bars_color'][1])) config[VEHICLE_CLASS_NAME.LIGHT_TANK] = Statistics.myConf[ VEHICLE_CLASS_NAME.LIGHT_TANK] config[VEHICLE_CLASS_NAME.MEDIUM_TANK] = Statistics.myConf[ VEHICLE_CLASS_NAME.MEDIUM_TANK] config[VEHICLE_CLASS_NAME.HEAVY_TANK] = Statistics.myConf[ VEHICLE_CLASS_NAME.HEAVY_TANK] config[VEHICLE_CLASS_NAME.SPG] = Statistics.myConf[ VEHICLE_CLASS_NAME.SPG] config[VEHICLE_CLASS_NAME.AT_SPG] = Statistics.myConf[ VEHICLE_CLASS_NAME.AT_SPG] config['table_bars_label'] = Statistics.myConf[ 'table_bars_label'] config['table_bars_odd_pos'] = Statistics.myConf[ 'table_bars_label_pos'] config['show_label'] = Statistics.myConf[ 'table_bars_tankType_show'] config['show_perc'] = Statistics.myConf[ 'table_bars_label_show'] config['align'] = Statistics.myConf['table_bars_align'] Statistics.table.addBars(config) #--------------------- self._BattleLoading__isTipInited = True return