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
Exemplo n.º 4
0
 def compareVehicle(self):
     vehicleCD = getValidVehicleCDForNationChange(self._vehicleCD)
     self.comparisonBasket.addVehicle(vehicleCD)
Exemplo n.º 5
0
 def showVehiclePreview(self):
     vehicleCD = getValidVehicleCDForNationChange(self._vehicleCD)
     shared_events.showVehiclePreview(vehicleCD)
     shared_events.hideBattleResults()
Exemplo n.º 6
0
 def showVehicleInfo(self):
     vehicleCD = getValidVehicleCDForNationChange(self._vehicleCD)
     shared_events.showVehicleInfo(vehicleCD)