def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) if canDo: if not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def __updateState(self): maintenanceEnabledInRent = True customizationEnabledInRent = False if g_currentVehicle.isPresent(): customizationEnabledInRent = not g_currentVehicle.isDisabledInRent() if g_currentVehicle.isPremiumIGR(): vehDoss = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD) battlesCount = 0 if vehDoss is None else vehDoss.getTotalStats().getBattlesCount() if battlesCount == 0: customizationEnabledInRent = maintenanceEnabledInRent = not g_currentVehicle.isDisabledInPremIGR() and not g_currentVehicle.isDisabledInRent() isVehicleDisabled = False if self.prbDispatcher is not None: permission = self.prbDispatcher.getGUIPermissions() if permission is not None: isVehicleDisabled = not permission.canChangeVehicle() crewEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() carouselEnabled = not isVehicleDisabled maintenanceEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() and maintenanceEnabledInRent customizationEnabled = g_currentVehicle.isInHangar() and not isVehicleDisabled and not g_currentVehicle.isBroken() and customizationEnabledInRent self.as_setCrewEnabledS(crewEnabled) self.as_setCarouselEnabledS(carouselEnabled) customizationTooltip = TOOLTIPS.HANGAR_TUNING if g_currentVehicle.isPresent() and g_currentVehicle.item.isOnlyForEventBattles: customizationEnabled = False customizationTooltip = TOOLTIPS.HANGAR_TUNING_DISABLEDFOREVENTVEHICLE self.as_setupAmmunitionPanelS(maintenanceEnabled, customizationEnabled, customizationTooltip) self.as_setControlsVisibleS(g_currentVehicle.isPresent()) return
def _validate(self): if g_currentPreviewVehicle.isPresent(): return ValidationResult(False, PREBATTLE_RESTRICTION.PREVIEW_VEHICLE_IS_PRESENT) if not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT) if g_currentVehicle.isInBattle() or g_currentVehicle.isDisabled(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE) if g_currentVehicle.isTooHeavy(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_TOO_HEAVY) if not g_currentVehicle.isCrewFull(): return ValidationResult(False, PREBATTLE_RESTRICTION.CREW_NOT_FULL) if g_currentVehicle.isBroken(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_BROKEN) if g_currentVehicle.isDisabledInRoaming(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_ROAMING) if g_currentVehicle.isDisabledInPremIGR(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY) if g_currentVehicle.isDisabledInRent(): if g_currentVehicle.isPremiumIGR(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER) return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER) if g_currentVehicle.isRotationGroupLocked(): return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_ROTATION_GROUP_LOCKED) return ValidationResult(False, PREBATTLE_RESTRICTION.VEHICLE_NOT_SUPPORTED) if g_currentVehicle.isUnsuitableToQueue() else super(CurrentVehicleActionsValidator, self)._validate()
def rc_onRentChange(self, vehicles): if ( g_currentVehicle.isPresent() and g_currentVehicle.item.intCD in vehicles and g_currentVehicle.isDisabledInRent() and g_currentVehicle.isInPrebattle() ): self.__collection.reset()
def rc_onRentChange(self, vehicles): """ Rental listener for vehicles state update. Resets current player's state. Args: vehicles: list of affected vehicle intCDs """ if g_currentVehicle.isPresent( ) and g_currentVehicle.item.intCD in vehicles and g_currentVehicle.isDisabledInRent( ) and g_currentVehicle.isInPrebattle(): self.__entity.resetPlayerState()
def __cv_onChanged(self, *args): if self.__steps: return if not g_currentVehicle.isReadyToFight( ) and not g_currentVehicle.isReadyToPrebattle(): if g_currentVehicle.isCrewFull( ) and not g_currentVehicle.isBroken(): self.closeWindow() else: self.as_setActionsLockedS(g_currentVehicle.isLocked() or g_currentVehicle.isBroken() or g_currentVehicle.isDisabledInRent())
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) falloutCtrl = getFalloutCtrl() if canDo: if falloutCtrl.isEnabled(): if falloutCtrl.getBattleType( ) == FALLOUT_BATTLE_TYPE.UNDEFINED: canDo = False restriction = PREBATTLE_RESTRICTION.FALLOUT_NOT_SELECTED elif not g_currentVehicle.isGroupReady(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_GROUP_IS_NOT_READY elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) falloutCtrl = getFalloutCtrl() if canDo: if falloutCtrl.isEnabled(): if falloutCtrl.getBattleType() == FALLOUT_BATTLE_TYPE.UNDEFINED: canDo = False restriction = PREBATTLE_RESTRICTION.FALLOUT_NOT_SELECTED elif not g_currentVehicle.isGroupReady(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_GROUP_IS_NOT_READY elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) if canDo: if g_currentPreviewVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.PREVIEW_VEHICLE_IS_PRESENT elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly( ) and not game_control.getFalloutCtrl().isSelected(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def __updateState(self): enabledInRent = True if g_currentVehicle.isPresent() and g_currentVehicle.isPremiumIGR(): vehDoss = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD) battlesCount = 0 if vehDoss is None else vehDoss.getTotalStats().getBattlesCount() if battlesCount == 0: enabledInRent = not g_currentVehicle.isDisabledInPremIGR() and not g_currentVehicle.isDisabledInRent() isVehicleDisabled = False if self.prbDispatcher is not None: permission = self.prbDispatcher.getGUIPermissions() if permission is not None: isVehicleDisabled = not permission.canChangeVehicle() crewEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() and enabledInRent carouselEnabled = not isVehicleDisabled maintenanceEnabled = not isVehicleDisabled and g_currentVehicle.isInHangar() and enabledInRent customizationEnabled = g_currentVehicle.isInHangar() and not isVehicleDisabled and not g_currentVehicle.isBroken() and enabledInRent self.as_setCrewEnabledS(crewEnabled) self.as_setCarouselEnabledS(carouselEnabled) self.as_setupAmmunitionPanelS(maintenanceEnabled, customizationEnabled) self.as_setControlsVisibleS(g_currentVehicle.isPresent())
def canPlayerDoAction(self): canDo, restriction = self.__collection.canPlayerDoAction(False) if canDo: if g_currentPreviewVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.PREVIEW_VEHICLE_IS_PRESENT elif not g_currentVehicle.isReadyToFight(): if not g_currentVehicle.isPresent(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_NOT_PRESENT elif g_currentVehicle.isInBattle(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_BATTLE elif not g_currentVehicle.isCrewFull(): canDo = False restriction = PREBATTLE_RESTRICTION.CREW_NOT_FULL elif g_currentVehicle.isBroken(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_BROKEN elif g_currentVehicle.isFalloutOnly() and not game_control.getFalloutCtrl().isSelected(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_FALLOUT_ONLY elif g_currentVehicle.isDisabledInRoaming(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_ROAMING elif g_currentVehicle.isDisabledInPremIGR(): canDo = False restriction = PREBATTLE_RESTRICTION.VEHICLE_IN_PREMIUM_IGR_ONLY elif g_currentVehicle.isDisabledInRent(): unit = self.getUnitFunctional() if unit is not None and unit.getFlags().isInPreArena(): canDo = True else: canDo = False if g_currentVehicle.isPremiumIGR(): restriction = PREBATTLE_RESTRICTION.VEHICLE_IGR_RENTALS_IS_OVER else: restriction = PREBATTLE_RESTRICTION.VEHICLE_RENTALS_IS_OVER if canDo: canDo, restriction = self.__collection.canPlayerDoAction(True) return (canDo, restriction)
def rc_onRentChange(self, vehicles): if g_currentVehicle.isPresent( ) and g_currentVehicle.item.intCD in vehicles and g_currentVehicle.isDisabledInRent( ) and g_currentVehicle.isInPrebattle(): self.__collection.reset()
def __cv_onChanged(self, *args): if self.__steps: return if not g_currentVehicle.isReadyToFight() and not g_currentVehicle.isReadyToPrebattle(): if g_currentVehicle.isCrewFull() and not g_currentVehicle.isBroken(): self.closeWindow() else: self.as_setActionsLockedS(g_currentVehicle.isLocked() or g_currentVehicle.isBroken() or g_currentVehicle.isDisabledInRent())
def rc_onRentChange(self, vehicles): if g_currentVehicle.isPresent( ) and g_currentVehicle.item.intCD in vehicles and g_currentVehicle.isDisabledInRent( ) and g_currentVehicle.isInPrebattle(): self.__entity.resetPlayerState()