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
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
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))
def __installEquipment(self, intCD, slotIndex): cmp_helpers.installEquipmentOnVehicle(self.__vehicle, intCD, slotIndex)