def __setUnsuitableState(self): vehicles = self.__getUnsuitableVehicles() intCDs = set() for vehicle in vehicles: vehicle.setCustomState(Vehicle.VEHICLE_STATE.UNSUITABLE_TO_QUEUE) intCDs.add(vehicle.intCD) if intCDs: g_prbCtrlEvents.onVehicleClientStateChanged(intCDs)
def __clearUnsuitableState(self): vehicles = self.__getUnsuitableVehicles() intCDs = set() for vehicle in vehicles: vehicle.clearCustomState() intCDs.add(vehicle.intCD) if intCDs: g_prbCtrlEvents.onVehicleClientStateChanged(intCDs)
def __clearCustomVehicleStates(self): vehicles = self.itemsCache.items.getVehicles(REQ_CRITERIA.INVENTORY) updatedVehicles = [] for intCD, v in vehicles.iteritems(): if v.isCustomStateSet(): v.clearCustomState() updatedVehicles.append(intCD) if updatedVehicles: g_prbCtrlEvents.onVehicleClientStateChanged(updatedVehicles)
def _clearCustomsStates(self): vehicles = [ v for vehicles in self._getVehiclesCustomStates(True).itervalues() for v in vehicles ] intCDs = set() for vehicle in vehicles: vehicle.clearCustomState() intCDs.add(vehicle.intCD) if intCDs: g_prbCtrlEvents.onVehicleClientStateChanged(intCDs)
def invalidateVehicleStates(self, vehicles=None): state = Vehicle.VEHICLE_STATE.UNSUITABLE_TO_UNIT if vehicles: criteria = REQ_CRITERIA.IN_CD_LIST(vehicles) else: criteria = REQ_CRITERIA.INVENTORY vehicles = self.itemsCache.items.getVehicles(criteria) updatedVehicles = [ intCD for intCD, v in vehicles.iteritems() if self._updateVehicleState(v, state) ] if updatedVehicles: g_prbCtrlEvents.onVehicleClientStateChanged(updatedVehicles)
def __setCustomStates(self): states = self._getVehiclesCustomStates() intCDs = set() for state, vehicles in states.iteritems(): for vehicle in vehicles: if vehicle.intCD in intCDs and self.__compareVehStateByPriority( vehicle.getCustomState(), state): continue vehicle.setCustomState(state) intCDs.add(vehicle.intCD) if intCDs: g_prbCtrlEvents.onVehicleClientStateChanged(intCDs)
def invalidateVehicleStates(self, vehicles = None): """ Invalidates given vehicles states Args: vehicles: dict of items cache request result: intCD -> vehicle item """ state = Vehicle.VEHICLE_STATE.UNSUITABLE_TO_UNIT if vehicles: criteria = REQ_CRITERIA.IN_CD_LIST(vehicles) else: criteria = REQ_CRITERIA.INVENTORY vehicles = g_itemsCache.items.getVehicles(criteria) updatedVehicles = [ intCD for intCD, v in vehicles.iteritems() if self._updateVehicleState(v, state) ] if updatedVehicles: g_prbCtrlEvents.onVehicleClientStateChanged(updatedVehicles)