Пример #1
0
 def _generateOptions(self, ctx=None):
     options = []
     vehicle = self.__getVehicle(self.vehCD)
     self._manageStartOptions(options, vehicle)
     if vehicle.hasNationGroup:
         isNew = not AccountSettings.getSettings(NATION_CHANGE_VIEWED)
         options.append(self._makeItem(VEHICLE.NATION_CHANGE, MENU.CONTEXTMENU_NATIONCHANGE, {'enabled': vehicle.isNationChangeAvailable,
          'isNew': isNew}))
     if vehicle.isPurchased:
         options.append(self._makeItem(VEHICLE.SELL, MENU.contextmenu(VEHICLE.SELL), {'enabled': vehicle.canSell}))
     elif self.__isPurchaseEnabled(vehicle):
         items = self.itemsCache.items
         if vehicle.isRestoreAvailable():
             label = MENU.CONTEXTMENU_RESTORE
         elif vehicle.canTradeIn:
             label = MENU.CONTEXTMENU_BUYORTRADEIN
         else:
             label = MENU.CONTEXTMENU_BUY
         if vehicle.isCollectible and not self.__isCollectibleVehicleEnabled(vehicle):
             btnEnabled = False
         elif canBuyGoldForVehicleThroughWeb(vehicle):
             btnEnabled = True
         else:
             btnEnabled = vehicle.mayObtainWithMoneyExchange(items.stats.money, items.shop.exchangeRate)
         options.append(self._makeItem(VEHICLE.BUY, label, {'enabled': btnEnabled}))
     elif self.__isResearchEnabled(vehicle):
         isNextToUnlock, isXpEnough = g_techTreeDP.isVehicleAvailableToUnlock(self.vehCD)
         isAvailableToUnlock = isNextToUnlock and isXpEnough
         options.append(self._makeItem(VEHICLE.RESEARCH, MENU.contextmenu(VEHICLE.RESEARCH), {'enabled': isAvailableToUnlock}))
     self._manageEndOptions(options, vehicle)
     return options
Пример #2
0
 def request4Buy(self, itemCD):
     itemCD = int(itemCD)
     vehicle = self._itemsCache.items.getItemByCD(itemCD)
     if canBuyGoldForVehicleThroughWeb(vehicle):
         shared_events.showVehicleBuyDialog(vehicle)
     else:
         ItemsActionsFactory.doAction(ItemsActionsFactory.BUY_VEHICLE, itemCD)
Пример #3
0
 def request4Buy(self, itemCD):
     itemCD = int(itemCD)
     if getTypeOfCompactDescr(itemCD) == GUI_ITEM_TYPE.VEHICLE:
         vehicle = self._itemsCache.items.getItemByCD(itemCD)
         if canBuyGoldForVehicleThroughWeb(vehicle):
             shared_events.showVehicleBuyDialog(
                 vehicle, actionType=VehicleBuyActionTypes.BUY)
         else:
             self._doBuyVehicleAction(itemCD)
     else:
         self._doBuyAndInstallItemAction(itemCD)
Пример #4
0
 def request4Rent(self, itemCD):
     itemCD = int(itemCD)
     vehicle = self._itemsCache.items.getItemByCD(itemCD)
     if canBuyGoldForVehicleThroughWeb(vehicle):
         shared_events.showVehicleBuyDialog(
             vehicle, actionType=VehicleBuyActionTypes.RENT)
     else:
         ItemsActionsFactory.doAction(ItemsActionsFactory.BUY_VEHICLE,
                                      itemCD,
                                      False,
                                      VehicleBuyActionTypes.RENT,
                                      skipConfirm=self._skipConfirm)
 def onBuyOrResearchClick(self):
     vehicle = g_currentPreviewVehicle.item
     shopPackage = self.__items is not None and self.__couponInfo is None
     frontlineCouponPackage = self.__couponInfo is not None and self.__couponInfo.selected
     if self._marathonEvent:
         self.__purchaseMarathonPackage()
     elif shopPackage or frontlineCouponPackage:
         self.__purchasePackage()
     elif self.__offers is not None:
         self.__purchaseOffer()
     elif canBuyGoldForVehicleThroughWeb(vehicle):
         self.__purchaseSingleVehicle(vehicle)
     elif self.__isHeroTank:
         self.__purchaseHeroTank()
     else:
         self.__research()
     return
 def __addBuyOption(self, options, vehicle):
     if vehicle.isPremiumIGR or vehicle.isPurchased or not (
             vehicle.isUnlocked or vehicle.isCollectible):
         return False
     label = MENU.CONTEXTMENU_BUY
     if vehicle.isRestoreAvailable():
         label = MENU.CONTEXTMENU_RESTORE
     elif vehicle.canTradeIn:
         label = MENU.CONTEXTMENU_BUYORTRADEIN
     itemsRequester = self.__itemsCache.items
     btnEnabled = vehicle.mayObtainWithMoneyExchange(
         itemsRequester.stats.money, itemsRequester.shop.exchangeRate)
     if vehicle.isCollectible and not self.__isCollectibleVehicleEnabled(
             vehicle):
         btnEnabled = False
     elif canBuyGoldForVehicleThroughWeb(vehicle):
         btnEnabled = True
     options.append(
         self._makeItem(VEHICLE.BUY, label, {'enabled': btnEnabled}))
     return True
Пример #7
0
 def buyVehicle(self):
     vehicle = self.itemsCache.items.getItemByCD(self.vehCD)
     if canBuyGoldForVehicleThroughWeb(vehicle):
         shared_events.showVehicleBuyDialog(vehicle)
     else:
         ItemsActionsFactory.doAction(ItemsActionsFactory.BUY_VEHICLE, self.vehCD)
 def buyVehicle(self):
     vehicle = self.itemsCache.items.getItemByCD(self._vehCD)
     if canBuyGoldForVehicleThroughWeb(vehicle):
         shared_events.showVehicleBuyDialog(vehicle)
     else:
         super(PostProgressionContextMenuHandler, self).buyVehicle()
Пример #9
0
 def buyVehicle(self):
     vehicle = self.itemsCache.items.getItemByCD(self._nodeCD)
     if canBuyGoldForVehicleThroughWeb(vehicle):
         shared_events.showVehicleBuyDialog(vehicle)
     else:
         super(ResearchVehicleContextMenuHandler, self).buyVehicle()