예제 #1
0
 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
예제 #2
0
 def updateVehicleCustomization(self, itemID=None):
     space = g_hangarSpace.space
     if space is not None and g_currentVehicle.isInHangar():
         VehicleCustomizationModel.updateVehicleSticker(
             "inscription", itemID, self.getRealPosition(), self._rentalPackageDP.selectedPackage.get("periodDays")
         )
         space.updateVehicleSticker(VehicleCustomizationModel.getVehicleModel())
예제 #3
0
 def processReturnCrew(self, print_message=True):
     if not g_currentVehicle.isInHangar() or g_currentVehicle.isInBattle(
     ) or g_currentVehicle.isLocked() or g_currentVehicle.isCrewFull():
         return
     result = yield TankmanReturn(g_currentVehicle.item).request()
     if len(result.userMsg) and print_message:
         SystemMessages.pushI18nMessage(result.userMsg,
                                        type=result.sysMsgType)
예제 #4
0
 def updateVehicleCustomization(self, itemID=None):
     space = g_hangarSpace.space
     if space is not None and g_currentVehicle.isInHangar():
         VehicleCustomizationModel.updateVehicleSticker(
             'inscription', itemID, self.getRealPosition(),
             self._rentalPackageDP.selectedPackage.get('periodDays'))
         space.updateVehicleSticker(
             VehicleCustomizationModel.getVehicleModel())
예제 #5
0
def onXfwCommand(cmd, *args):
    try:
        if cmd == COMMANDS.PUT_PREVIOUS_CREW:
            if g_currentVehicle.isInHangar() and not (g_currentVehicle.isCrewFull() or g_currentVehicle.isInBattle() or g_currentVehicle.isLocked()):
                PutPreviousCrew(g_currentVehicle, False)
            return (None, True)
    except Exception, ex:
        err(traceback.format_exc())
        return (None, True)
예제 #6
0
def onXfwCommand(cmd, *args):
    try:
        if cmd == COMMANDS.PUT_PREVIOUS_CREW:
            if g_currentVehicle.isInHangar() and not (g_currentVehicle.isCrewFull() or g_currentVehicle.isInBattle() or g_currentVehicle.isLocked()):
                PutPreviousCrew(g_currentVehicle, False)
            return (None, True)
    except Exception, ex:
        err(traceback.format_exc())
        return (None, True)
예제 #7
0
 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())
예제 #8
0
 def __updateState(self):
     isVehicleDisabled = False
     if self.prbDispatcher is not None:
         permission = self.prbDispatcher.getGUIPermissions()
         if permission is not None:
             isVehicleDisabled = not permission.canChangeVehicle()
     isInHangar = g_currentVehicle.isInHangar() and not g_currentVehicle.item.isInUnit
     msg, msgLvl = g_currentVehicle.getHangarMessage()
     isPresent = g_currentVehicle.isPresent()
     self.as_readyToFightS(g_currentVehicle.isReadyToFight(), msg, msgLvl, isPresent, isVehicleDisabled, g_currentVehicle.isCrewFull(), isInHangar, g_currentVehicle.isBroken() if isPresent else False, g_currentVehicle.isDisabledInRoaming())
     return
예제 #9
0
def equipCurrentVehicle():
    if g_vAppearance is not None:
        if g_vAppearance._VehicleAppearance__isLoaded:
            if g_currentVehicle.isInHangar():
                curVehicle = g_currentVehicle.item
                #LOG_DEBUG('try to equip: %s' % curVehicle.name)
                if g_autoEquip:
                    removeAllOptionalDevices(curVehicle)
                    equipOptionalDevices(curVehicle)
                if g_returnCrew:
                    returnCrew(curVehicle)
        else:
            BigWorld.callback(0.2, equipCurrentVehicle)
예제 #10
0
 def __updateState(self):
     isVehicleDisabled = False
     if self.prbDispatcher is not None:
         permission = self.prbDispatcher.getGUIPermissions()
         if permission is not None:
             isVehicleDisabled = not permission.canChangeVehicle()
     isInHangar = g_currentVehicle.isInHangar() and not g_currentVehicle.item.isInUnit
     msg, msgLvl = g_currentVehicle.getHangarMessage()
     isPresent = g_currentVehicle.isPresent()
     self.as_readyToFightS(
         g_currentVehicle.isReadyToFight(),
         msg,
         msgLvl,
         isPresent,
         isVehicleDisabled,
         g_currentVehicle.isCrewFull(),
         isInHangar,
         g_currentVehicle.isBroken() if isPresent else False,
         g_currentVehicle.isDisabledInRoaming(),
     )
     return
예제 #11
0
 def updateVehicleCustomization(self, itemID = None):
     space = g_hangarSpace.space
     if space is not None and g_currentVehicle.isInHangar():
         space.updateVehicleCamouflage(camouflageID=itemID)
     return
예제 #12
0
 def _getIsDisabled():
     return not g_currentVehicle.isInHangar() or g_currentVehicle.isLocked(
     ) or g_currentVehicle.isBroken()
예제 #13
0
 def updateVehicleCustomization(self, itemID = None):
     space = g_hangarSpace.space
     if space is not None and g_currentVehicle.isInHangar():
         space.updateVehicleCamouflage(camouflageID=itemID)
     return
예제 #14
0
 def processReturnCrew(self, print_message = True):
     if not g_currentVehicle.isInHangar() or g_currentVehicle.isInBattle() or g_currentVehicle.isLocked() or g_currentVehicle.isCrewFull():
         return
     result = yield TankmanReturn(g_currentVehicle.item).request()
     if len(result.userMsg) and print_message:
         SystemMessages.pushI18nMessage(result.userMsg, type=result.sysMsgType)