Exemple #1
0
    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
Exemple #2
0
    def _getCurrentVehicleCopy(self):
        vehicle = Vehicle(
            strCompactDescr=self.__vehicle.descriptor.makeCompactDescr())
        vehicle.crew = self.__vehicle.crew[:]
        for i, equipmentIntCD in enumerate(
                self.__vehicle.equipment.regularConsumables.getIntCDs(
                    default=None)):
            cmp_helpers.installEquipmentOnVehicle(vehicle, equipmentIntCD, i)

        vehicle.descriptor.activeGunShotIndex = self.__vehicle.descriptor.activeGunShotIndex
        return vehicle
Exemple #3
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))
    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))
Exemple #5
0
 def __installEquipment(self, intCD, slotIndex):
     cmp_helpers.installEquipmentOnVehicle(self.__vehicle, intCD, slotIndex)