def __requestForMoneyObtain(self, data):
     isTradeIn = data.tradeOff != -1
     result = None
     if isTradeIn:
         tradeOffVehicle = self.itemsCache.items.getItemByCD(int(data.tradeOff))
         confirmationType = 'tradeInConfirmation'
         addition = ''
         operations = []
         if tradeOffVehicle.hasCrew:
             operations.append('crew')
         if tradeOffVehicle.hasShells:
             operations.append('shells')
         if tradeOffVehicle.hasEquipments:
             operations.append('equipments')
         if tradeOffVehicle.hasOptionalDevices:
             operations.append('optionalDevices')
         if operations:
             operationsStr = map(lambda o: i18n.makeString('#dialogs:%s/message/%s' % (confirmationType, o)), operations)
             addition = i18n.makeString('#dialogs:%s/message/addition' % confirmationType, operations=', '.join(operationsStr))
         ctx = {'vehName': neutral(tradeOffVehicle.userName),
          'addition': addition}
         result = yield showI18nConfirmDialog(confirmationType, meta=I18nConfirmDialogMeta(confirmationType, ctx, ctx), focusedID=DIALOG_BUTTON_ID.SUBMIT)
         if not result:
             return
         tradeOffVehicle = self.itemsCache.items.getItemByCD(int(data.tradeOff))
         result = yield VehicleTradeInProcessor(self.vehicle, tradeOffVehicle, data.buySlot, data.buyAmmo, data.crewType).request()
         if result.userMsg:
             SystemMessages.pushI18nMessage(result.userMsg, type=result.sysMsgType)
         if not result.success:
             self.onWindowClose()
             return
     if data.buySlot:
         result = yield VehicleSlotBuyer(showConfirm=False, showWarning=False).request()
         if result.userMsg:
             SystemMessages.pushI18nMessage(result.userMsg, type=result.sysMsgType)
         if not result.success:
             return
     if not isTradeIn:
         if data.rentId != -1:
             result = yield VehicleRenter(self.vehicle, data.rentId, data.buyAmmo, data.crewType).request()
         else:
             result = yield self._getObtainVehicleProcessor(self.vehicle, data).request()
         if result.userMsg:
             SystemMessages.pushI18nMessage(result.userMsg, type=result.sysMsgType)
     if result and result.success:
         self.onWindowClose()
     return
示例#2
0
 def __requestForBuy(self, data):
     vehicle = g_itemsCache.items.getItem(GUI_ITEM_TYPE.VEHICLE, self.nationID, self.inNationID)
     if data.buySlot:
         result = yield VehicleSlotBuyer(showConfirm=False, showWarning=False).request()
         if len(result.userMsg):
             SystemMessages.g_instance.pushI18nMessage(result.userMsg, type=result.sysMsgType)
         if not result.success:
             return
     if data.rentId == -1:
         result = yield VehicleBuyer(vehicle, data.buySlot, data.buyAmmo, data.crewType).request()
     else:
         result = yield VehicleRenter(vehicle, data.rentId, data.buyAmmo, data.crewType).request()
     if len(result.userMsg):
         SystemMessages.g_instance.pushI18nMessage(result.userMsg, type=result.sysMsgType)
     self.as_setEnabledSubmitBtnS(True)
     if result.success:
         self.storeSettings(data.isHasBeenExpanded)
         self.onWindowClose()
 def __requestForMoneyObtain(self, data):
     vehicle = g_itemsCache.items.getItem(GUI_ITEM_TYPE.VEHICLE,
                                          self.nationID, self.inNationID)
     if data.buySlot:
         result = yield VehicleSlotBuyer(showConfirm=False,
                                         showWarning=False).request()
         if len(result.userMsg):
             SystemMessages.pushI18nMessage(result.userMsg,
                                            type=result.sysMsgType)
         if not result.success:
             return
     if data.rentId != -1:
         result = yield VehicleRenter(vehicle, data.rentId, data.buyAmmo,
                                      data.crewType).request()
     else:
         result = yield self._getObtainVehicleProcessor(vehicle,
                                                        data).request()
     if len(result.userMsg):
         SystemMessages.pushI18nMessage(result.userMsg,
                                        type=result.sysMsgType)
     if result.success:
         self.storeSettings(data.isHasBeenExpanded)
     self.onWindowClose()
示例#4
0
 def __requestForMoneyObtain(self):
     equipmentBlock = self.viewModel.equipmentBlock
     isTradeIn = self.__tradeOffVehicle is not None and not self.__isRentVisible
     isWithSlot = equipmentBlock.slot.getIsSelected()
     isWithAmmo = equipmentBlock.ammo.getIsSelected()
     if self.__isWithoutCommander:
         crewType = self.__CREW_NOT_SELECTED_IDX
     else:
         crewType = self.__selectedCardIdx
     result = None
     if isTradeIn:
         confirmationType = 'tradeInConfirmation'
         addition = ''
         operations = []
         if self.__tradeOffVehicle.hasCrew:
             operations.append('crew')
         if self.__tradeOffVehicle.hasShells:
             operations.append('shells')
         if self.__tradeOffVehicle.hasEquipments:
             operations.append('equipments')
         if self.__tradeOffVehicle.hasOptionalDevices:
             operations.append('optionalDevices')
         if operations:
             operationsStr = [
                 i18n.makeString('#dialogs:%s/message/%s' %
                                 (confirmationType, o)) for o in operations
             ]
             addition = i18n.makeString('#dialogs:%s/message/addition' %
                                        confirmationType,
                                        operations=', '.join(operationsStr))
         ctx = {
             'vehName': neutral(self.__tradeOffVehicle.userName),
             'addition': addition
         }
         self.__tradeinInProgress = True
         result = yield showI18nConfirmDialog(
             confirmationType,
             meta=I18nConfirmDialogMeta(confirmationType, ctx, ctx),
             focusedID=DIALOG_BUTTON_ID.SUBMIT)
         if not result:
             return
         result = yield VehicleTradeInProcessor(self.__vehicle,
                                                self.__tradeOffVehicle,
                                                isWithSlot, isWithAmmo,
                                                crewType).request()
         if result.userMsg:
             SystemMessages.pushI18nMessage(result.userMsg,
                                            type=result.sysMsgType)
         self.__tradeinInProgress = False
         if not result.success:
             self.__onWindowClose()
             return
     if isWithSlot:
         result = yield VehicleSlotBuyer(showConfirm=False,
                                         showWarning=False).request()
         if result.userMsg:
             SystemMessages.pushI18nMessage(result.userMsg,
                                            type=result.sysMsgType)
         if not result.success:
             return
     if not isTradeIn:
         self.__purchaseInProgress = True
         emtySlotAvailable = self.itemsCache.items.inventory.getFreeSlots(
             self.__stats.vehicleSlots) > 0
         if self.__isBuying():
             if self.__vehicle.isRestoreAvailable():
                 result = yield self.getRestoreVehicleProcessor(
                     crewType).request()
             else:
                 result = yield self.__getObtainVehicleProcessor(
                     crewType).request()
             if not emtySlotAvailable and not isWithSlot:
                 self.__playSlotAnimation()
         else:
             result = yield VehicleRenter(self.__vehicle,
                                          self.__selectedRentTerm,
                                          isWithAmmo, crewType).request()
         if result.userMsg:
             SystemMessages.pushI18nMessage(result.userMsg,
                                            type=result.sysMsgType)
         self.__purchaseInProgress = False
         self.__onItemCacheSyncCompleted()
     if result and result.success:
         self.__successOperation = True
         if self.__isRenting() or self.bootcamp.isInBootcamp():
             self.__onWindowClose()
         else:
             self.__showCongratulations()
     return