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
 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
Ejemplo n.º 3
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
     g_currentPreviewVehicle.selectNoVehicle()
 def __processPersonalNumberStyleTab(self):
     style = self.__parentCtx.get(
         'numberStyle'
     ) if self.__currentTabID == TabID.PERSONAL_NUMBER_VEHICLE else None
     g_currentPreviewVehicle.selectNoVehicle()
     g_currentPreviewVehicle.selectVehicle(self.__parentCtx.get('itemCD'),
                                           style=style)
     return
Ejemplo n.º 5
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
     g_currentPreviewVehicle.selectNoVehicle()
 def showCustomization(self,
                       vehInvID=None,
                       callback=None,
                       season=None,
                       modeId=None,
                       tabId=None):
     if self.__customizationCtx is None:
         lobbyHeaderNavigationPossible = yield self.__lobbyContext.isHeaderNavigationPossible(
         )
         if not lobbyHeaderNavigationPossible:
             return
     self.__showCustomizationKwargs = {
         'vehInvID': vehInvID,
         'callback': callback,
         'season': season,
         'modeId': modeId,
         'tabId': tabId
     }
     shouldSelectVehicle = False
     if self.hangarSpace.space is not None:
         self.hangarSpace.space.turretAndGunAngles.set(
             gunPitch=self.__GUN_PITCH_ANGLE,
             turretYaw=self.__TURRET_YAW_ANGLE)
     if vehInvID is not None:
         vehGuiItem = self.itemsCache.items.getVehicle(vehInvID)
         if vehGuiItem is not None:
             if not vehGuiItem.isCustomizationEnabled():
                 _logger.error(
                     "Can't show customization view for currently non-customizable vehicle '%s'",
                     vehGuiItem.name)
                 return
             if g_currentVehicle.invID != vehInvID:
                 shouldSelectVehicle = True
     if not self.hangarSpace.spaceInited or not self.hangarSpace.isModelLoaded or shouldSelectVehicle:
         if shouldSelectVehicle:
             if g_currentPreviewVehicle.isPresent():
                 hideVehiclePreview(back=False, close=True)
                 g_currentPreviewVehicle.selectNoVehicle()
             BigWorld.callback(
                 0.0,
                 makeCallbackWeak(g_currentVehicle.selectVehicle,
                                  vehInvID=vehInvID))
         _logger.info(
             'Space or vehicle is not presented, customization view loading delayed'
         )
         self.hangarSpace.onVehicleChanged += self.__delayedShowCustomization
         self.hangarSpace.onSpaceChanged += self.__delayedShowCustomization
         return
     else:
         if not shouldSelectVehicle and self.hangarSpace.space is not None:
             vEntity = self.hangarSpace.space.getVehicleEntity()
             if vEntity is not None:
                 vEntity.appearance.rotateTurretForAnchor(None, None)
                 vEntity.appearance.rotateGunToDefault()
         self.__delayedShowCustomization()
         return
Ejemplo n.º 7
0
 def setSelectedVehicle(self, vehicleName):
     if vehicleName:
         nationID, vehID = vehicles.g_list.getIDsByName(vehicleName)
         self.__vehCompDescr = vehicles.makeIntCompactDescrByID(
             'vehicle', nationID, vehID)
         g_currentPreviewVehicle.selectVehicle(self.__vehCompDescr)
     else:
         self.__vehCompDescr = self._UNDEFINED_VALUE
         g_currentPreviewVehicle.selectNoVehicle()
     self.onUpdated()
Ejemplo n.º 8
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
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange -= self.__updateHeaderData
     g_currentPreviewVehicle.selectNoVehicle()
Ejemplo 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
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange -= self.__updateHeaderData
     g_currentPreviewVehicle.selectNoVehicle()
Ejemplo n.º 10
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
Ejemplo n.º 11
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
Ejemplo n.º 12
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
 def _populate(self):
     self.addListener(CameraRelatedEvents.VEHICLE_LOADING,
                      self.__onVehicleLoading, EVENT_BUS_SCOPE.DEFAULT)
     self.setTopPanel()
     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,
                                               style=self.__style)
         g_currentPreviewVehicle.resetAppearance(self.__previewAppearance)
     elif g_currentPreviewVehicle.intCD == self._vehicleCD:
         g_currentPreviewVehicle.selectNoVehicle()
     g_currentPreviewVehicle.selectVehicle(self._vehicleCD,
                                           self.__vehicleStrCD,
                                           style=self.__style)
     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
Ejemplo n.º 14
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
Ejemplo n.º 15
0
 def __onC11nVisibilityChanged(self, _):
     vehCompDescr = self.mapsTrainingController.getSelectedVehicle()
     if self.__selectedMap and vehCompDescr:
         g_currentPreviewVehicle.selectNoVehicle()
         g_currentPreviewVehicle.selectVehicle(vehCompDescr)
 def __onInventoryChanged(self, *_):
     if not BuyVehicleWindow.getInstances():
         g_currentPreviewVehicle.selectNoVehicle()
 def __switchCamera(self):
     ClientSelectableCameraObject.switchCamera()
     if self.__selectedMap:
         g_currentPreviewVehicle.selectNoVehicle()
         self.mapsTrainingController.updateSelectedVehicle()
Ejemplo n.º 18
0
 def __unselectVehicle(self):
     self.__heroTanksControl.setInteractive(True)
     g_currentPreviewVehicle.selectNoVehicle()
     g_currentPreviewVehicle.resetAppearance()
     self.__selectedVehicleEntityId = None
     return
Ejemplo n.º 19
0
 def reset(self):
     self.__mapGeometryID = self._UNDEFINED_VALUE
     self.__vehCompDescr = self._UNDEFINED_VALUE
     self.__team = 1
     g_currentPreviewVehicle.selectNoVehicle()
Ejemplo n.º 20
0
 def _hideVehicle(self):
     g_currentPreviewVehicle.selectNoVehicle()
Ejemplo n.º 21
0
 def __onInventoryChanged(self, *_):
     g_currentPreviewVehicle.selectNoVehicle()
     event_dispatcher.selectVehicleInHangar(self._vehicleCD)
Ejemplo n.º 22
0
 def __onC11nVisibilityChanged(self, inCustomisation):
     if inCustomisation and g_currentPreviewVehicle.isPresent():
         g_currentPreviewVehicle.selectNoVehicle()
     if self.__vehCompDescr != self._UNDEFINED_VALUE and not inCustomisation:
         g_currentPreviewVehicle.selectNoVehicle()
         g_currentPreviewVehicle.selectVehicle(self.__vehCompDescr)