def _dispose(self):
     g_clientUpdateManager.removeObjectCallbacks(self)
     g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus
     g_currentPreviewVehicle.onVehicleUnlocked -= self._updateBtnState
     g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged
     g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged
     self.comparisonBasket.onChange -= self.__onCompareBasketChanged
     self.comparisonBasket.onSwitchChange -= self.__updateHeaderData
     self.restores.onRestoreChangeNotify -= self.__onRestoreChanged
     self.lobbyContext.getServerSettings(
     ).onServerSettingsChange -= self.__onServerSettingsChanged
     self.hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh
     self.hangarSpace.setVehicleSelectable(
         self.__keepVehicleSelectionEnabled)
     self.removeListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED,
                         self.handleSelectedEntityUpdated)
     if self._needToResetAppearance:
         g_currentPreviewVehicle.selectNoVehicle()
         g_currentPreviewVehicle.resetAppearance()
     if self._backAlias == VIEW_ALIAS.VEHICLE_PREVIEW:
         g_currentVehicle.refreshModel()
     self._previewBackCb = None
     self.__previewDP = None
     LobbySelectableView._dispose(self)
     if self.__vehAppearanceChanged:
         g_currentPreviewVehicle.resetAppearance()
     return
 def __init__(self, ctx=None, skipConfirm=False):
     LobbySelectableView.__init__(self, ctx)
     self._actionType = None
     self._showHeaderCloseBtn = True
     self._vehicleCD = ctx['itemCD']
     self.__vehicleStrCD = ctx.get('vehicleStrCD')
     self._previousBackAlias = ctx.get('previousBackAlias')
     self._previewBackCb = ctx.get('previewBackCb')
     self._backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR)
     self.__manageVehicleModel = ctx.get('manageVehicleModel', False)
     if 'previewAppearance' in ctx:
         self.__vehAppearanceChanged = True
         g_currentPreviewVehicle.resetAppearance(ctx['previewAppearance'])
     else:
         self.__vehAppearanceChanged = False
     self.__previewDP = ctx.get('previewDP',
                                DefaultVehPreviewDataProvider())
     self.__isHeroTank = ctx.get('isHeroTank', False)
     self._skipConfirm = skipConfirm
     self._disableBuyButton = False
     self.__keepVehicleSelectionEnabled = False
     self._needToResetAppearance = True
     if 'objectSelectionEnabled' in ctx:
         self._objectSelectionEnabled = ctx.get('objectSelectionEnabled')
     return
 def _dispose(self):
     specialData = getHeroTankPreviewParams() if self.__isHeroTank else None
     if specialData is not None and specialData.exitEvent:
         SoundGroups.g_instance.playSound2D(specialData.exitEvent)
     self.removeListener(CameraRelatedEvents.VEHICLE_LOADING,
                         self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT)
     g_clientUpdateManager.removeObjectCallbacks(self)
     g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged
     g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged
     self.__comparisonBasket.onChange -= self.__onCompareBasketChanged
     self.__comparisonBasket.onSwitchChange -= self.__updateHeaderData
     self.__hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh
     self.__hangarSpace.setVehicleSelectable(
         self.__keepVehicleSelectionEnabled)
     self.removeListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED,
                         self.handleSelectedEntityUpdated)
     if self._needToResetAppearance:
         g_currentPreviewVehicle.selectNoVehicle()
         g_currentPreviewVehicle.resetAppearance()
     g_eventBus.handleEvent(events.LobbySimpleEvent(
         events.LobbySimpleEvent.VEHICLE_PREVIEW_HIDDEN),
                            scope=EVENT_BUS_SCOPE.LOBBY)
     if self._backAlias == VIEW_ALIAS.VEHICLE_PREVIEW:
         g_currentVehicle.refreshModel()
     self._previewBackCb = None
     self.__unmodifiedItemsPack = None
     super(VehiclePreview, self)._dispose()
     if not self._heroInteractive:
         self.__heroTanksControl.setInteractive(True)
     if self.__vehAppearanceChanged:
         g_currentPreviewVehicle.resetAppearance()
     g_eventBus.removeListener(OFFER_CHANGED_EVENT, self.__onOfferChanged)
     return
Exemplo n.º 4
0
 def onExit(self):
     self.reset()
     self.__preferences.resetSessionFilters()
     g_currentPreviewVehicle.resetAppearance()
     g_playerEvents.onDisconnected -= self.__onDisconnected
     g_eventBus.removeListener(events.ViewEventType.LOAD_VIEW,
                               self.__viewLoaded, EVENT_BUS_SCOPE.LOBBY)
Exemplo n.º 5
0
 def _populate(self):
     self.addListener(CameraRelatedEvents.VEHICLE_LOADING,
                      self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT)
     self.setBottomPanel()
     if g_currentPreviewVehicle.intCD == self._vehicleCD:
         self.__fullUpdate()
     if self.__hangarVehicleCD and self.__isHeroTank and self.__vehAppearanceChanged:
         g_currentPreviewVehicle.resetAppearance()
         g_currentPreviewVehicle.selectVehicle(self.__hangarVehicleCD, None)
         g_currentPreviewVehicle.resetAppearance(self.__previewAppearance)
     g_currentPreviewVehicle.selectVehicle(self._vehicleCD,
                                           self.__vehicleStrCD)
     super(VehiclePreview, self)._populate()
     g_currentPreviewVehicle.onChanged += self.__onVehicleChanged
     g_currentPreviewVehicle.onVehicleInventoryChanged += self.__onInventoryChanged
     self.__comparisonBasket.onChange += self.__onCompareBasketChanged
     self.__comparisonBasket.onSwitchChange += self.__updateHeaderData
     self.__hangarSpace.onSpaceCreate += self.__onHangarCreateOrRefresh
     self.__hangarSpace.setVehicleSelectable(True)
     if not g_currentPreviewVehicle.isPresent():
         event_dispatcher.showHangar()
     if not self._heroInteractive:
         self.__heroTanksControl.setInteractive(False)
     self.addListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED,
                      self.handleSelectedEntityUpdated)
     specialData = getHeroTankPreviewParams() if self.__isHeroTank else None
     if specialData is not None and specialData.enterEvent:
         SoundGroups.g_instance.playSound2D(specialData.enterEvent)
     g_eventBus.addListener(OFFER_CHANGED_EVENT, self.__onOfferChanged)
     _updateCollectorHintParameters()
     _updatePostProgressionParameters()
     return
 def __init__(self, ctx=None):
     self.__ctx = ctx
     self._backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR)
     self._itemsPack = ctx.get('itemsPack')
     if self._backAlias == VIEW_ALIAS.LOBBY_STORE or self._itemsPack is not None:
         self._COMMON_SOUND_SPACE = SHOP_PREVIEW_SOUND_SPACE
     elif self._backAlias in (VIEW_ALIAS.LOBBY_TECHTREE,
                              VIEW_ALIAS.LOBBY_RESEARCH):
         self._COMMON_SOUND_SPACE = RESEARCH_PREVIEW_SOUND_SPACE
     elif self._backAlias in (VIEW_ALIAS.RANKED_BATTLE_PAGE,
                              VIEW_ALIAS.VEH_POST_PROGRESSION):
         self._COMMON_SOUND_SPACE = VEHICLE_PREVIEW_SOUND_SPACE
     super(VehiclePreview, self).__init__(ctx)
     self.__currentOffer = None
     self._vehicleCD = ctx['itemCD']
     self.__vehicleStrCD = ctx.get('vehicleStrCD')
     self._previousBackAlias = ctx.get('previousBackAlias')
     self._previewBackCb = ctx.get('previewBackCb')
     self.__isHeroTank = ctx.get('isHeroTank', False)
     self.__customizationCD = (ctx.get('vehParams') or {}).get('styleCD')
     self.__offers = ctx.get('offers')
     self._price = ctx.get('price', MONEY_UNDEFINED)
     self._oldPrice = ctx.get('oldPrice', MONEY_UNDEFINED)
     self._title = ctx.get('title')
     self.__description = ctx.get('description')
     self.__endTime = ctx.get('endTime')
     self.__buyParams = ctx.get('buyParams')
     self.__topPanelData = ctx.get('topPanelData') or {}
     self.__style = ctx.get('style')
     self.__unmodifiedItemsPack = deepcopy(self._itemsPack)
     addBuiltInEquipment(self._itemsPack, self.__itemsCache,
                         self._vehicleCD)
     notInteractive = (VIEW_ALIAS.LOBBY_STORE,
                       VIEW_ALIAS.RANKED_BATTLE_PAGE,
                       VIEW_ALIAS.VEH_POST_PROGRESSION,
                       VIEW_ALIAS.RESOURCE_WELL_VEHICLE_PREVIEW,
                       VIEW_ALIAS.RESOURCE_WELL_HERO_VEHICLE_PREVIEW)
     self._heroInteractive = not (self._itemsPack or self.__offers
                                  or self.__topPanelData
                                  or self._backAlias in notInteractive)
     self.__haveCustomCrew = any(
         (item.type == ItemPackType.CREW_CUSTOM
          for item in self._itemsPack)) if self._itemsPack else False
     self.__hangarVehicleCD = ctx.get('hangarVehicleCD')
     self.__previewAppearance = ctx.get('previewAppearance')
     if self.__previewAppearance:
         self.__vehAppearanceChanged = True
         g_currentPreviewVehicle.resetAppearance(self.__previewAppearance)
     else:
         self.__vehAppearanceChanged = False
     self.__keepVehicleSelectionEnabled = False
     self._needToResetAppearance = True
     if not self.__isHeroTank:
         self.__hangarSpace.removeVehicle()
     g_currentPreviewVehicle.selectHeroTank(self.__isHeroTank)
     return
Exemplo n.º 7
0
 def _finalize(self):
     self.__finalizationInProgress = True
     self.__blur.fini()
     if self.__tickCallback is not None:
         BigWorld.cancelCallback(self.__tickCallback)
     if not self.__selectedMap:
         MapsTrainingSound.onSelectedMap(True)
     if self.prbEntity is not None and not self.prbEntity.isInQueue():
         g_currentPreviewVehicle.selectNoVehicle()
         g_currentPreviewVehicle.resetAppearance()
     super(MapsTrainingView, self)._finalize()
     return
Exemplo n.º 8
0
 def _dispose(self):
     self.__selectedVehicleEntityId = None
     self.removeListener(CameraRelatedEvents.VEHICLE_LOADING,
                         self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT)
     g_clientUpdateManager.removeObjectCallbacks(self)
     self.__hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh
     self.__heroTanksControl.setInteractive(True)
     g_currentPreviewVehicle.selectNoVehicle()
     g_currentPreviewVehicle.resetAppearance()
     g_eventBus.handleEvent(events.LobbySimpleEvent(
         events.LobbySimpleEvent.VEHICLE_PREVIEW_HIDDEN),
                            scope=EVENT_BUS_SCOPE.LOBBY)
     super(VehicleStylePreview, self)._dispose()
     return
Exemplo n.º 9
0
 def _dispose(self):
     super(VehiclePreview, self)._dispose()
     g_clientUpdateManager.removeObjectCallbacks(self)
     g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus
     g_currentPreviewVehicle.onVehicleUnlocked -= self._updateBtnState
     g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged
     g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged
     self.comparisonBasket.onChange -= self.__onCompareBasketChanged
     self.comparisonBasket.onSwitchChange -= self.__updateHeaderData
     self.restores.onRestoreChangeNotify -= self.__onRestoreChanged
     g_hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh
     g_currentPreviewVehicle.selectNoVehicle()
     self.__previewDP = None
     if self.__vehAppearanceChanged:
         g_currentPreviewVehicle.resetAppearance()
     return
Exemplo n.º 10
0
 def __init__(self, ctx = None, skipConfirm = False):
     super(VehiclePreview, self).__init__(ctx)
     self._actionType = None
     self._showVehInfoPanel = True
     self._showHeaderCloseBtn = True
     self.__vehicleCD = ctx['itemCD']
     self.__vehicleStrCD = ctx.get('vehicleStrCD')
     self.__backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR)
     if 'previewAppearance' in ctx:
         self.__vehAppearanceChanged = True
         g_currentPreviewVehicle.resetAppearance(ctx['previewAppearance'])
     else:
         self.__vehAppearanceChanged = False
     self.__previewDP = ctx.get('previewDP', DefaultVehPreviewDataProvider())
     self._skipConfirm = skipConfirm
     self._disableBuyButton = False
     return
Exemplo n.º 11
0
 def __init__(self, ctx=None):
     super(VehiclePreview20, self).__init__(ctx)
     self._showCloseBtn = True
     self._vehicleCD = ctx['itemCD']
     self.__vehicleStrCD = ctx.get('vehicleStrCD')
     self._previousBackAlias = ctx.get('previousBackAlias')
     self._previewBackCb = ctx.get('previewBackCb')
     self._backAlias = ctx.get('previewAlias', VIEW_ALIAS.LOBBY_HANGAR)
     self.__isHeroTank = ctx.get('isHeroTank', False)
     self.__itemsPack = ctx.get('itemsPack')
     self.__price = ctx.get('price')
     self.__oldPrice = ctx.get('oldPrice')
     self.__title = ctx.get('title')
     self.__endTime = ctx.get('endTime')
     self.__buyParams = ctx.get('buyParams')
     if 'previewAppearance' in ctx:
         self.__vehAppearanceChanged = True
         g_currentPreviewVehicle.resetAppearance(ctx['previewAppearance'])
     else:
         self.__vehAppearanceChanged = False
     self.__keepVehicleSelectionEnabled = False
     self._needToResetAppearance = True
Exemplo n.º 12
0
 def _dispose(self):
     g_clientUpdateManager.removeObjectCallbacks(self)
     g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged
     self.comparisonBasket.onChange -= self.__onCompareBasketChanged
     self.comparisonBasket.onSwitchChange -= self.__updateHeaderData
     self.hangarSpace.onSpaceCreate -= self.__onHangarCreateOrRefresh
     self.hangarSpace.setVehicleSelectable(
         self.__keepVehicleSelectionEnabled)
     serverSettings = self.lobbyContext.getServerSettings()
     serverSettings.onServerSettingsChange -= self.__onServerSettingsChanged
     self.removeListener(CameraRelatedEvents.CAMERA_ENTITY_UPDATED,
                         self.handleSelectedEntityUpdated)
     if self._needToResetAppearance:
         g_currentPreviewVehicle.selectNoVehicle()
         g_currentPreviewVehicle.resetAppearance()
     if self._backAlias == VIEW_ALIAS.VEHICLE_PREVIEW_20:
         g_currentVehicle.refreshModel()
     self._previewBackCb = None
     super(VehiclePreview20, self)._dispose()
     if self.__itemsPack or self._backAlias == VIEW_ALIAS.LOBBY_STORE:
         self.heroTanks.setInteractive(True)
     if self.__vehAppearanceChanged:
         g_currentPreviewVehicle.resetAppearance()
     return
Exemplo n.º 13
0
 def __unselectVehicle(self):
     self.__heroTanksControl.setInteractive(True)
     g_currentPreviewVehicle.selectNoVehicle()
     g_currentPreviewVehicle.resetAppearance()
     self.__selectedVehicleEntityId = None
     return