def __checkSelectedVehicles(self): vehsIntCD = self.__getSelectedVehicles() if vehsIntCD: vehIntCD = vehsIntCD[0] vehicle = self.itemsCache.items.getItemByCD(vehIntCD) if not vehicle.activeInNationGroup: vehIntCD = getValidVehicleCDForNationChange(vehIntCD) self.prbEntity.setSelectedVehicles( SELECTED_INTRO_VEHICLES_FIELD, [vehIntCD])
def addVehicle(self, vehicleCompactDesr, initParameters=None): if not isinstance(vehicleCompactDesr, (int, float)): raise SoftException('Int-type compact descriptor is invalid: '.format(vehicleCompactDesr)) if self.__canBeAdded(): vehicleCompactDesr = getValidVehicleCDForNationChange(vehicleCompactDesr) vehCmpData = self._createVehCompareData(vehicleCompactDesr, initParameters) if vehCmpData: self.__vehicles.append(vehCmpData) self.__applyChanges(addedIDXs=[len(self.__vehicles) - 1], addedCDs=[vehicleCompactDesr]) return True return False
def __onCacheResync(self, reason, diff): if reason != CACHE_SYNC_REASON.CLIENT_UPDATE: return else: changedIDXs = set() nationWasChanged = False if diff is not None and GUI_ITEM_TYPE.VEHICLE in diff: vehDiff = diff[GUI_ITEM_TYPE.VEHICLE] diffKeys = diff.keys() isModulesOrDeviceChanged = set(diffKeys).intersection(set(GUI_ITEM_TYPE.VEHICLE_MODULES + (GUI_ITEM_TYPE.OPTIONALDEVICE,))) isEquipmentChanged = GUI_ITEM_TYPE.EQUIPMENT in diffKeys for changedVehCD in vehDiff: for idx, vehCompareData in enumerate(self.__vehicles): if changedVehCD == vehCompareData.getVehicleCD(): vehicle = self.itemsCache.items.getItemByCD(changedVehCD) isCachedVehInInv = vehicle.isInInventory if vehCompareData.isInInventory() != isCachedVehInInv: self.__updateInventoryData(vehCompareData, vehicle) self.__updateInventoryEquipment(vehCompareData, vehicle) self.__updateInventoryCrewData(vehCompareData, vehicle) if not isCachedVehInInv: crewLevel, crewSkills = vehCompareData.getCrewData() if crewLevel == CrewTypes.CURRENT: vehCompareData.setCrewData(CrewTypes.SKILL_100, crewSkills) changedIDXs.add(idx) else: if isModulesOrDeviceChanged: self.__updateInventoryData(vehCompareData, vehicle) changedIDXs.add(idx) if isEquipmentChanged: self.__updateInventoryEquipment(vehCompareData, vehicle) changedIDXs.add(idx) if GUI_ITEM_TYPE.TANKMAN in diffKeys: self.__updateInventoryCrewData(vehCompareData, vehicle) if GUI_ITEM_TYPE.CUSTOMIZATION in diffKeys or GUI_ITEM_TYPE.OUTFIT in diffKeys: self.__updateInventoryData(vehCompareData, vehicle) changedIDXs.add(idx) vehicleCompactDesr = getValidVehicleCDForNationChange(changedVehCD) if vehicleCompactDesr != changedVehCD: vehCmpData = self._createVehCompareData(vehicleCompactDesr) self.__vehicles[idx] = vehCmpData nationWasChanged = True if changedIDXs: self.onParametersChange(changedIDXs) if nationWasChanged: self.onNationChange() return
def compareVehicle(self): vehicleCD = getValidVehicleCDForNationChange(self._vehicleCD) self.comparisonBasket.addVehicle(vehicleCD)
def showVehiclePreview(self): vehicleCD = getValidVehicleCDForNationChange(self._vehicleCD) shared_events.showVehiclePreview(vehicleCD) shared_events.hideBattleResults()
def showVehicleInfo(self): vehicleCD = getValidVehicleCDForNationChange(self._vehicleCD) shared_events.showVehicleInfo(vehicleCD)