コード例 #1
0
ファイル: cmp_parameters.py プロジェクト: kusaku/wot_scripts
    def setVehicleData(self, vehicleStrCD, equipment, hasCamouflage,
                       selectedShellIdx, battleBooster):
        isDifferent = False
        camouflageInvalid = self.__hasCamouflage != hasCamouflage
        equipInvalid = equipment != self.__equipment
        shellInvalid = selectedShellIdx != self.__selectedShellIdx
        battleBoosterInvalid = battleBooster != self.__battleBooster
        if vehicleStrCD != self.__vehicleStrCD:
            self.__vehicleStrCD = vehicleStrCD
            self.__vehicle = Vehicle(self.__vehicleStrCD)
            self.__isCurrVehParamsInvalid = True
            isDifferent = True
            equipInvalid = True
            camouflageInvalid = True
        if equipInvalid:
            for i, eq in enumerate(equipment):
                cmp_helpers.installEquipmentOnVehicle(self.__vehicle, eq, i)

            self.__equipment = equipment
            isDifferent = True
        if battleBoosterInvalid:
            self.__battleBooster = battleBooster
            cmp_helpers.installBattleBoosterOnVehicle(self.__vehicle,
                                                      battleBooster.intCD)
            isDifferent = True
        if camouflageInvalid:
            cmp_helpers.applyCamouflage(self.__vehicle, hasCamouflage)
            self.__hasCamouflage = hasCamouflage
            isDifferent = True
        if shellInvalid:
            self.__vehicle.descriptor.activeGunShotIndex = selectedShellIdx
            self.__selectedShellIdx = selectedShellIdx
            isDifferent = True
        return isDifferent
コード例 #2
0
    def getInitialVehicleData(self):
        basketVehicle = self.getBasketVehCmpData()
        if basketVehicle.isInInventory():
            strCD = basketVehicle.getInvVehStrCD()
            crewLvl, crewSkills = basketVehicle.getInventoryCrewData()
            equipment = basketVehicle.getInvEquipment()
        else:
            strCD = basketVehicle.getStockVehStrCD()
            crewLvl = basketVehicle.getStockCrewLvl()
            crewSkills = basketVehicle.getStockCrewSkills()
            equipment = basketVehicle.getStockEquipment()
        vehicle = Vehicle(strCD)
        for slotIndex, equipmentSlot in enumerate(equipment):
            vehicle_adjusters.installEquipment(vehicle, equipmentSlot,
                                               slotIndex)

        cmp_helpers.applyCamouflage(vehicle, basketVehicle.invHasCamouflage())
        battleBooster = basketVehicle.getBattleBooster()
        if battleBooster is not None:
            vehicle_adjusters.installBattleBoosterOnVehicle(
                vehicle, battleBooster.intCD)
        postProgressionState = basketVehicle.getInvPostProgressionState()
        vehicle.installPostProgression(postProgressionState,
                                       rebuildAttrs=False)
        dynSlotType = basketVehicle.getInvDynSlotType()
        vehicle.optDevices.dynSlotType = dynSlotType
        return (vehicle, _CrewSkillsManager(vehicle, crewLvl, crewSkills))
コード例 #3
0
    def _populate(self):
        super(VehicleCompareConfiguratorMain, self)._populate()
        self.comparisonBasket.onSwitchChange += self.__onBasketStateChanged
        self.comparisonBasket.onParametersChange += self.__onBasketParametersChanged
        basketVehicleData = self.getBasketVehCmpData()
        basketVehCrewLvl, basketVehCrewSkills = basketVehicleData.getCrewData()
        self.__vehicle = Vehicle(basketVehicleData.getVehicleStrCD())
        g_cmpConfiguratorVehicle.setVehicle(self.__vehicle)
        self.__vehItem = CompareInteractingItem(self.__vehicle)
        self.__crewSkillsManager = _CrewSkillsManager(self.__vehicle,
                                                      basketVehCrewLvl,
                                                      basketVehCrewSkills)
        equipment = basketVehicleData.getEquipment()
        for slotIndex, equipmentSlot in enumerate(equipment):
            self.__installEquipment(equipmentSlot, slotIndex)

        cmp_helpers.applyCamouflage(self.__vehicle,
                                    basketVehicleData.hasCamouflage())
        battleBooster = basketVehicleData.getBattleBooster()
        if battleBooster is not None:
            vehicle_adjusters.installBattleBoosterOnVehicle(
                self.__vehicle, battleBooster.intCD)
        dynSlotType = basketVehicleData.getDynSlotType()
        self.__vehicle.optDevices.dynSlotType = dynSlotType
        postProgressionState = basketVehicleData.getPostProgressionState()
        self.__vehicle.installPostProgression(postProgressionState, True)
        self.__updateSelectedShell(basketVehicleData.getSelectedShellIndex())
        self.as_showViewS(VEHICLE_COMPARE_CONSTANTS.VEHICLE_CONFIGURATOR_VIEW)
        self.comparisonBasket.isLocked = True
        return
コード例 #4
0
    def setVehicleData(self, vehCompareData):
        vehicleStrCD = vehCompareData.getVehicleStrCD()
        equipment = vehCompareData.getEquipment()
        hasCamouflage = vehCompareData.hasCamouflage()
        selectedShellIdx = vehCompareData.getSelectedShellIndex()
        battleBooster = vehCompareData.getBattleBooster()
        dynSlotType = vehCompareData.getDynSlotType()
        postProgressionState = vehCompareData.getPostProgressionState()
        isDifferent = False
        camouflageInvalid = self.__hasCamouflage != hasCamouflage
        equipInvalid = equipment != self.__equipment
        shellInvalid = selectedShellIdx != self.__selectedShellIdx
        battleBoosterInvalid = battleBooster != self.__battleBooster
        dynSlotsInvalid = dynSlotType != self.__dynSlotType
        postProgressionInvalid = postProgressionState != self.__postProgressionState
        if vehicleStrCD != self.__vehicleStrCD:
            self.__vehicleStrCD = vehicleStrCD
            self.__vehicle = Vehicle(self.__vehicleStrCD)
            self.__isCurrVehParamsInvalid = True
            isDifferent = True
            equipInvalid = True
            camouflageInvalid = True
            dynSlotsInvalid = True
            postProgressionInvalid = True
        if equipInvalid:
            for i, eq in enumerate(equipment):
                vehicle_adjusters.installEquipment(self.__vehicle, eq, i)

            self.__equipment = equipment
            isDifferent = True
        if battleBoosterInvalid:
            self.__battleBooster = battleBooster
            vehicle_adjusters.installBattleBoosterOnVehicle(
                self.__vehicle, battleBooster.intCD)
            isDifferent = True
        if camouflageInvalid:
            cmp_helpers.applyCamouflage(self.__vehicle, hasCamouflage)
            self.__hasCamouflage = hasCamouflage
            isDifferent = True
        if shellInvalid:
            self.__vehicle.descriptor.activeGunShotIndex = selectedShellIdx
            self.__selectedShellIdx = selectedShellIdx
            isDifferent = True
        if dynSlotsInvalid:
            self.__dynSlotType = dynSlotType
            self.__vehicle.optDevices.dynSlotType = dynSlotType
            self.__isCurrVehParamsInvalid = True
            isDifferent = True
        if postProgressionInvalid:
            self.__postProgressionState = postProgressionState
            self.__vehicle.installPostProgression(postProgressionState, True)
            self.__isCurrVehParamsInvalid = True
            isDifferent = True
        return isDifferent
コード例 #5
0
    def _getCurrentVehicleCopy(self):
        vehicle = Vehicle(
            strCompactDescr=self.__vehicle.descriptor.makeCompactDescr())
        vehicle.crew = self.__vehicle.crew[:]
        for i, equipmentIntCD in enumerate(
                self.__vehicle.consumables.installed.getIntCDs(default=None)):
            vehicle_adjusters.installEquipment(vehicle, equipmentIntCD, i)

        vehicle.descriptor.activeGunShotIndex = self.__vehicle.descriptor.activeGunShotIndex
        cmp_helpers.applyCamouflage(
            vehicle, cmp_helpers.isCamouflageSet(self.__vehicle))
        for battleBooster in self.__vehicle.battleBoosters.installed.getItems(
        ):
            vehicle_adjusters.installBattleBoosterOnVehicle(
                vehicle, battleBooster.intCD)

        return vehicle
コード例 #6
0
    def getInitialVehicleData(self):
        basketVehicle = self.getBasketVehCmpData()
        if basketVehicle.isInInventory():
            strCD = basketVehicle.getInvVehStrCD()
            crewLvl, crewSkills = basketVehicle.getInventoryCrewData()
            equipment = basketVehicle.getInvEquipment()
        else:
            strCD = basketVehicle.getStockVehStrCD()
            crewLvl = basketVehicle.getStockCrewLvl()
            crewSkills = basketVehicle.getStockCrewSkills()
            equipment = basketVehicle.getStockEquipment()
        vehicle = Vehicle(strCD)
        for slotIndex in xrange(len(equipment)):
            cmp_helpers.installEquipmentOnVehicle(vehicle,
                                                  equipment[slotIndex],
                                                  slotIndex)

        cmp_helpers.applyCamouflage(vehicle, basketVehicle.invHasCamouflage())
        return (vehicle, _CrewSkillsManager(vehicle, crewLvl, crewSkills))
コード例 #7
0
    def _populate(self):
        super(VehicleCompareConfiguratorMain, self)._populate()
        self.comparisonBasket.onSwitchChange += self.__onBasketStateChanged
        basketVehcileData = self.getBasketVehCmpData()
        basketVehCrewLvl, basketVehCrewSkills = basketVehcileData.getCrewData()
        self.__vehicle = Vehicle(basketVehcileData.getVehicleStrCD())
        self.__crewSkillsManager = _CrewSkillsManager(self.__vehicle, basketVehCrewLvl, basketVehCrewSkills)
        equipment = basketVehcileData.getEquipment()
        for slotIndex, equipmentSlot in enumerate(equipment):
            self.__installEquipment(equipmentSlot, slotIndex)

        cmp_helpers.applyCamouflage(self.__vehicle, basketVehcileData.hasCamouflage())
        battleBooster = basketVehcileData.getBattleBooster()
        if battleBooster is not None:
            vehicle_adjusters.installBattleBoosterOnVehicle(self.__vehicle, battleBooster.intCD)
        self.__updateSelectedShell(basketVehcileData.getSelectedShellIndex())
        self.as_showViewS(VEHICLE_COMPARE_CONSTANTS.VEHICLE_CONFIGURATOR_VIEW)
        self.comparisonBasket.isLocked = True
        return
コード例 #8
0
    def getInitialVehicleData(self):
        basketVehicle = self.getBasketVehCmpData()
        if basketVehicle.isInInventory():
            strCD = basketVehicle.getInvVehStrCD()
            crewLvl, crewSkills = basketVehicle.getInventoryCrewData()
            equipment = basketVehicle.getInvEquipment()
        else:
            strCD = basketVehicle.getStockVehStrCD()
            crewLvl = basketVehicle.getStockCrewLvl()
            crewSkills = basketVehicle.getStockCrewSkills()
            equipment = basketVehicle.getStockEquipment()
        vehicle = Vehicle(strCD)
        for slotIndex, equipmentSlot in enumerate(equipment):
            vehicle_adjusters.installEquipment(vehicle, equipmentSlot, slotIndex)

        cmp_helpers.applyCamouflage(vehicle, basketVehicle.invHasCamouflage())
        battleBooster = basketVehicle.getBattleBooster()
        if battleBooster is not None:
            vehicle_adjusters.installBattleBoosterOnVehicle(vehicle, battleBooster.intCD)
        return (vehicle, _CrewSkillsManager(vehicle, crewLvl, crewSkills))
コード例 #9
0
    def getInitialVehicleData(self):
        """
        Provides vehicle corresponded to the vehicle if it is in hanger otherwise provides stock vehicle
        :return: Vehicle.Vehicle, _CrewSkillsManager;
        _CrewSkillsManager required to properly initialize and apply crew on vehicle
        """
        basketVehicle = self.getBasketVehCmpData()
        if basketVehicle.isInInventory():
            strCD = basketVehicle.getInvVehStrCD()
            crewLvl, crewSkills = basketVehicle.getInventoryCrewData()
            equipment = basketVehicle.getInvEquipment()
        else:
            strCD = basketVehicle.getStockVehStrCD()
            crewLvl = basketVehicle.getStockCrewLvl()
            crewSkills = basketVehicle.getStockCrewSkills()
            equipment = basketVehicle.getStockEquipment()
        vehicle = Vehicle(strCD)
        for slotIndex in xrange(len(equipment)):
            cmp_helpers.installEquipmentOnVehicle(vehicle,
                                                  equipment[slotIndex],
                                                  slotIndex)

        cmp_helpers.applyCamouflage(vehicle, basketVehicle.invHasCamouflage())
        return (vehicle, _CrewSkillsManager(vehicle, crewLvl, crewSkills))
コード例 #10
0
 def selectCamouflage(self, select):
     cmp_helpers.applyCamouflage(self.__vehicle, select)
     self.__notifyViews('onCamouflageUpdated')