def _populate(self):
     super(VehicleCompareAddVehiclePopover, self)._populate()
     self.__initControls()
     self._vehDP = VehiclesDataProvider()
     self._vehDP.setFlashObject(self.as_getTableDPS())
     getVehicleComparisonBasketCtrl().onSwitchChange += self.onWindowClose
     self.updateData()
     self.updateAddButtonLabel()
 def _dispose(self):
     getVehicleComparisonBasketCtrl().onSwitchChange -= self.onWindowClose
     self.__vehicle = None
     self.__modulesInstaller.dispose()
     self.__modulesInstaller = None
     if self.__nodeDataGenerator:
         self.__nodeDataGenerator.clear(True)
         self.__nodeDataGenerator = None
     super(VehicleModulesWindow, self)._dispose()
     return
 def _populate(self):
     super(VehicleModulesWindow, self)._populate()
     basketVehicle = getVehicleComparisonBasketCtrl().getVehicleAt(self.__vehIndex)
     self.__initialize(basketVehicle.getVehicleStrCD(), basketVehicle.getModulesType())
     self.as_setAttentionVisibleS(basketVehicle.isInInventory() and not basketVehicle.isActualModules())
     stockVehicle = Vehicle(basketVehicle.getStockVehStrCD())
     self.__modulesInstaller = _ModulesInstaller(getInstalledModulesCDs(stockVehicle))
     getVehicleComparisonBasketCtrl().onSwitchChange += self.onWindowClose
     self.as_setInitDataS({'windowTitle': _ms(VEH_COMPARE.MODULESVIEW_WINDOWTITLE, vehName=stockVehicle.userName),
      'description': text_styles.main(_ms(VEH_COMPARE.MODULESVIEW_DESCRIPTION)),
      'resetBtnLabel': VEH_COMPARE.MODULESVIEW_RESETBTNLABEL,
      'closeBtnLabel': VEH_COMPARE.MODULESVIEW_CLOSEBTNLABEL,
      'compareBtnLabel': VEH_COMPARE.MODULESVIEW_COMPAREBTNLABEL,
      'resetBtnTooltip': VEH_COMPARE.MODULESVIEW_RESETBTNLABEL_TOOLTIP,
      'closeBtnTooltip': VEH_COMPARE.MODULESVIEW_CLOSEBTNLABEL_TOOLTIP,
      'compareBtnTooltip': VEH_COMPARE.MODULESVIEW_COMPAREBTNLABEL_TOOLTIP})
 def __getVehCompareData(self, vehicle):
     comparisonBasket = getVehicleComparisonBasketCtrl()
     state, tooltip = resolveStateTooltip(comparisonBasket, vehicle, enabledTooltip=None, fullTooltip=VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_DISABLED)
     return {'modeAvailable': comparisonBasket.isEnabled(),
      'btnEnabled': state,
      'btnTooltip': tooltip,
      'label': text_styles.main(VEH_COMPARE.VEHPREVIEW_COMPAREINFO_ADDTOCOMPARE)}
Esempio n. 5
0
    def _getTechniqueListVehicles(self, targetData, addVehiclesThatInHangarOnly = False):
        result = []
        for intCD, (battlesCount, wins, markOfMastery, xp) in targetData.getVehicles().iteritems():
            avgXP = xp / battlesCount if battlesCount else 0
            vehicle = g_itemsCache.items.getItemByCD(intCD)
            if vehicle is not None:
                isInHangar = vehicle.invID > 0
                if addVehiclesThatInHangarOnly and not isInHangar:
                    continue
                if self._battlesType == PROFILE_DROPDOWN_KEYS.FALLOUT:
                    winsEfficiency = wins
                    winsEfficiencyStr = BigWorld.wg_getIntegralFormat(winsEfficiency)
                else:
                    winsEfficiency = 100.0 * wins / battlesCount if battlesCount else 0
                    winsEfficiencyStr = BigWorld.wg_getIntegralFormat(round(winsEfficiency)) + '%'
                result.append({'id': intCD,
                 'inventoryID': vehicle.invID,
                 'shortUserName': vehicle.shortUserName,
                 'battlesCount': battlesCount,
                 'winsEfficiency': winsEfficiency,
                 'winsEfficiencyStr': winsEfficiencyStr,
                 'avgExperience': avgXP,
                 'userName': vehicle.userName,
                 'typeIndex': VEHICLE_TABLE_TYPES_ORDER_INDICES_REVERSED[vehicle.type],
                 'nationIndex': GUI_NATIONS_ORDER_INDEX[NAMES[vehicle.nationID]],
                 'nationID': vehicle.nationID,
                 'level': vehicle.level,
                 'markOfMastery': self.__getMarkOfMasteryVal(markOfMastery),
                 'markOfMasteryBlock': ACHIEVEMENT_BLOCK.TOTAL,
                 'tankIconPath': vehicle.iconSmall,
                 'typeIconPath': '../maps/icons/filters/tanks/%s.png' % vehicle.type,
                 'isInHangar': isInHangar,
                 'compareModeAvailable': getVehicleComparisonBasketCtrl().isEnabled()})

        return result
 def __updateModulesType(self, modulesType):
     self.__currentModulesType = modulesType
     basketVehicle = getVehicleComparisonBasketCtrl().getVehicleAt(self.__vehIndex)
     if basketVehicle.isInInventory():
         btnEnabled = modulesType != MODULES_TYPES.CURRENT
     else:
         btnEnabled = modulesType != MODULES_TYPES.BASIC
     self.as_setStateS(stateText=text_styles.neutral(_ms('#veh_compare:modulesView/moduleSet/{}'.format(modulesType))), stateEnabled=btnEnabled)
 def _manageVehCompareItem(self, optionsRef, vehicle):
     """
     :param vehicle: instance of gui.shared.gui_items.Vehicle.Vehicle
     :param optionsRef: reference to Context Menu items list
     """
     comparisonBasket = getVehicleComparisonBasketCtrl()
     if comparisonBasket.isEnabled():
         optionsRef.append(self._makeItem(VEHICLE.COMPARE, MENU.contextmenu(VEHICLE.COMPARE), {'enabled': comparisonBasket.isReadyToAdd(vehicle)}))
 def dispose(self):
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__onChanged
     comparisonBasket.onSwitchChange -= self.__updateBtnVisibility
     self.__getContainerManager().onViewAddedToContainer -= self.__onViewAddedToContainer
     self.__view = None
     self.__clearCartPopover()
     return
Esempio n. 9
0
 def _populate(self):
     super(ResearchPanel, self)._populate()
     g_clientUpdateManager.addCallbacks({'stats.vehTypeXP': self.onVehicleTypeXPChanged,
      'stats.eliteVehicles': self.onVehicleBecomeElite})
     self.onCurrentVehicleChanged()
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange += self.onCurrentVehicleChanged
Esempio n. 10
0
 def stopListen(self):
     g_clientUpdateManager.removeObjectCallbacks(self)
     g_itemsCache.onSyncCompleted -= self.__items_onSyncCompleted
     g_playerEvents.onCenterIsLongDisconnected -= self.__center_onIsLongDisconnected
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__onVehCompareBasketChanged
     comparisonBasket.onSwitchChange -= self.__onVehCompareBasketSwitchChange
     super(_ItemsCacheListener, self).stopListen()
Esempio n. 11
0
 def startListen(self, page):
     super(_ItemsCacheListener, self).startListen(page)
     g_clientUpdateManager.addCallbacks({INVENTORY_DIFF_KEY: self.__onInventoryUpdate,
      CACHE_DIFF_KEY: self.__onCacheUpdate})
     g_itemsCache.onSyncCompleted += self.__items_onSyncCompleted
     g_playerEvents.onCenterIsLongDisconnected += self.__center_onIsLongDisconnected
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onVehCompareBasketChanged
     comparisonBasket.onSwitchChange += self.__onVehCompareBasketSwitchChange
Esempio n. 12
0
 def _generateOptions(self, ctx = None):
     vehicle = g_itemsCache.items.getItemByCD(self.__vehCD)
     options = []
     if not vehicle.isSecret or vehicle.isInInventory:
         options.append(self._makeItem(PROFILE.VEHICLE_INFO, MENU.CONTEXTMENU_VEHICLEINFOEX))
     comparisonBasket = getVehicleComparisonBasketCtrl()
     if comparisonBasket.isEnabled():
         options.append(self._makeItem(PROFILE.VEHICLE_COMPARE, MENU.contextmenu(PROFILE.VEHICLE_COMPARE), {'enabled': comparisonBasket.isReadyToAdd(vehicle)}))
     return options
Esempio n. 13
0
 def dispose(self):
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__onChanged
     comparisonBasket.onSwitchChange -= self.__updateBtnVisibility
     self.__getContainerManager(
     ).onViewAddedToContainer -= self.__onViewAddedToContainer
     self.__view = None
     self.__clearCartPopover()
     return
Esempio n. 14
0
 def __init__(self, view):
     super(_CompareBasketListener, self).__init__()
     self.__currentCartPopover = None
     self.__view = view
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onChanged
     comparisonBasket.onSwitchChange += self.__updateBtnVisibility
     self.__getContainerManager().onViewAddedToContainer += self.__onViewAddedToContainer
     self.__updateBtnVisibility(comparisonBasket)
     return
Esempio n. 15
0
 def _dispose(self):
     super(VehicleCompareView, self)._dispose()
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__updateUI
     comparisonBasket.onSwitchChange -= self.__onComparingDisabled
     self.__paramsCache.dispose()
     self.__paramsCache = None
     self.__vehDP.fini()
     self.__vehDP = None
     return
    def dispose(self):
        self.__view = None
        while self.__cache:
            self.__cache.pop().dispose()

        self.__cache = None
        comparisonBasket = getVehicleComparisonBasketCtrl()
        comparisonBasket.onChange -= self.__onVehCountChanged
        comparisonBasket.onParametersChange -= self.__onVehParamsChanged
        return
Esempio n. 17
0
 def _dispose(self):
     super(VehicleCompareView, self)._dispose()
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__updateUI
     comparisonBasket.onSwitchChange -= self.__onComparingDisabled
     self.__paramsCache.dispose()
     self.__paramsCache = None
     self.__vehDP.fini()
     self.__vehDP = None
     return
    def dispose(self):
        self.__view = None
        while self.__cache:
            self.__cache.pop().dispose()

        self.__cache = None
        comparisonBasket = getVehicleComparisonBasketCtrl()
        comparisonBasket.onChange -= self.__onVehCountChanged
        comparisonBasket.onParametersChange -= self.__onVehParamsChanged
        return
    def __init__(self, view):
        super(VehCompareBasketParamsCache, self).__init__()
        self.__cache = []
        self.__view = view
        comparisonBasket = getVehicleComparisonBasketCtrl()
        comparisonBasket.onChange += self.__onVehCountChanged
        comparisonBasket.onParametersChange += self.__onVehParamsChanged
        for vehInd in range(comparisonBasket.getVehiclesCount()):
            self.__addParamData(vehInd)

        self.__rebuildList()
 def __updateModulesType(self, modulesType):
     self.__currentModulesType = modulesType
     basketVehicle = getVehicleComparisonBasketCtrl().getVehicleAt(
         self.__vehIndex)
     if basketVehicle.isInInventory():
         btnEnabled = modulesType != MODULES_TYPES.CURRENT
     else:
         btnEnabled = modulesType != MODULES_TYPES.BASIC
     self.as_setStateS(stateText=text_styles.neutral(
         _ms('#veh_compare:modulesView/moduleSet/{}'.format(modulesType))),
                       stateEnabled=btnEnabled)
 def _dispose(self):
     super(VehiclePreview, self)._dispose()
     g_clientUpdateManager.removeObjectCallbacks(self)
     g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus
     g_currentPreviewVehicle.onVehicleUnlocked -= self.__updateBtnState
     g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged
     g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange -= self.__updateHeaderData
     g_currentPreviewVehicle.selectNoVehicle()
Esempio n. 22
0
 def _populate(self):
     super(VehicleCompareView, self)._populate()
     self.as_setStaticDataS({'header': self.__getHeaderData()})
     self.as_setVehicleParamsDataS(getAllParametersTitles())
     self.__vehDP = VehiclesDataProvider()
     self.__vehDP.setFlashObject(self.as_getVehiclesDPS())
     self.__paramsCache = VehCompareBasketParamsCache(self.__vehDP)
     self.__updateUI()
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__updateUI
     comparisonBasket.onSwitchChange += self.__onComparingDisabled
Esempio n. 23
0
 def __init__(self, view):
     super(_CompareBasketListener, self).__init__()
     self.__currentCartPopover = None
     self.__view = view
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onChanged
     comparisonBasket.onSwitchChange += self.__updateBtnVisibility
     self.__getContainerManager(
     ).onViewAddedToContainer += self.__onViewAddedToContainer
     self.__updateBtnVisibility(comparisonBasket)
     return
Esempio n. 24
0
 def _populate(self):
     super(VehicleCompareView, self)._populate()
     self.as_setStaticDataS({'header': self.__getHeaderData()})
     self.as_setVehicleParamsDataS(getAllParametersTitles())
     self.__vehDP = VehiclesDataProvider()
     self.__vehDP.setFlashObject(self.as_getVehiclesDPS())
     self.__paramsCache = VehCompareBasketParamsCache(self.__vehDP)
     self.__updateUI()
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__updateUI
     comparisonBasket.onSwitchChange += self.__onComparingDisabled
 def _dispose(self):
     super(VehiclePreview, self)._dispose()
     g_clientUpdateManager.removeObjectCallbacks(self)
     g_currentPreviewVehicle.onComponentInstalled -= self.__updateStatus
     g_currentPreviewVehicle.onVehicleUnlocked -= self.__updateBtnState
     g_currentPreviewVehicle.onVehicleInventoryChanged -= self.__onInventoryChanged
     g_currentPreviewVehicle.onChanged -= self.__onVehicleChanged
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange -= self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange -= self.__updateHeaderData
     g_currentPreviewVehicle.selectNoVehicle()
    def __init__(self, view):
        super(VehCompareBasketParamsCache, self).__init__()
        self.__cache = []
        self.__view = view
        comparisonBasket = getVehicleComparisonBasketCtrl()
        comparisonBasket.onChange += self.__onVehCountChanged
        comparisonBasket.onParametersChange += self.__onVehParamsChanged
        for vehInd in range(comparisonBasket.getVehiclesCount()):
            self.__addParamData(vehInd)

        self.__rebuildList()
Esempio n. 27
0
 def _manageVehCompareOptions(self, options):
     comparisonBasket = getVehicleComparisonBasketCtrl()
     if comparisonBasket.isEnabled():
         options.insert(
             2,
             self._makeItem(
                 _EXTENDED_OPT_IDS.VEHICLE_COMPARE,
                 MENU.contextmenu(_EXTENDED_OPT_IDS.VEHICLE_COMPARE), {
                     'enabled':
                     comparisonBasket.isReadyToAdd(
                         g_itemsCache.items.getItemByCD(self._vehicleCD))
                 }))
Esempio n. 28
0
 def _populate(self):
     super(ResearchPanel, self)._populate()
     g_clientUpdateManager.addCallbacks({
         'stats.vehTypeXP':
         self.onVehicleTypeXPChanged,
         'stats.eliteVehicles':
         self.onVehicleBecomeElite
     })
     self.onCurrentVehicleChanged()
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange += self.onCurrentVehicleChanged
 def _manageStartOptions(self, options, vehicle):
     options.append(
         self._makeItem(
             _OPT_IDS.COPY, VEH_COMPARE.MENU_CLONEFORCOMPARE,
             {'enabled': not getVehicleComparisonBasketCtrl().isFull()}))
     if vehicle.isInInventory:
         options.append(
             self._makeItem(VEHICLE.SELECT,
                            VEH_COMPARE.VEHICLECOMPAREVIEW_TOHANGAR))
     else:
         options.append(
             self._makeItem(VEHICLE.PREVIEW,
                            MENU.CONTEXTMENU_SHOWVEHICLEPREVIEW))
Esempio n. 30
0
def _getBtnVehCompareData(vehicle):
    comparisonBasket = getVehicleComparisonBasketCtrl()
    state, tooltip = resolveStateTooltip(
        comparisonBasket,
        vehicle,
        enabledTooltip=VEH_COMPARE.
        STORE_COMPAREVEHICLEBTN_TOOLTIPS_ADDTOCOMPARE,
        fullTooltip=VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_DISABLED)
    return {
        'modeAvailable': comparisonBasket.isEnabled(),
        'btnEnabled': state,
        'btnTooltip': tooltip
    }
Esempio n. 31
0
 def _manageStartOptions(self, options, vehicle):
     options.append(
         self._makeItem(VEHICLE.INFO, MENU.contextmenu(VEHICLE.INFO)))
     super(VehicleContextMenuHandler,
           self)._manageStartOptions(options, vehicle)
     basket = getVehicleComparisonBasketCtrl()
     if basket.isEnabled():
         options.append(
             self._makeItem(
                 VEHICLE.COMPARE, MENU.contextmenu(VEHICLE.COMPARE), {
                     'enabled':
                     basket.isReadyToAdd(
                         g_itemsCache.items.getItemByCD(self.vehCD))
                 }))
Esempio n. 32
0
def getBtnCompareData(vehicle):
    raise vehicle or AssertionError
    comparisonBasket = getVehicleComparisonBasketCtrl()
    state, tooltip = resolveStateTooltip(
        comparisonBasket,
        vehicle,
        enabledTooltip=TOOLTIPS.RESEARCHPAGE_VEHICLE_BUTTON_COMPARE_ADD,
        fullTooltip=TOOLTIPS.RESEARCHPAGE_VEHICLE_BUTTON_COMPARE_DISABLED)
    return {
        'modeAvailable': comparisonBasket.isEnabled(),
        'btnLabel': MENU.RESEARCH_LABELS_BUTTON_ADDTOCOMPARE,
        'btnEnabled': state,
        'btnTooltip': tooltip
    }
    def __onVehParamsChanged(self, data):
        isBestScoreInvalid = False
        for index in data:
            basketVehData = getVehicleComparisonBasketCtrl().getVehicleAt(index)
            paramsVehData = self.__cache[index]
            paramsVehData.setIsInInventory(basketVehData.isInInventory())
            paramsVehData.setModulesType(basketVehData.getModulesType())
            isBestScoreInvalid = isBestScoreInvalid or paramsVehData.setCrewLvl(basketVehData.getCrewLevel())
            isBestScoreInvalid = isBestScoreInvalid or paramsVehData.setVehicleStrCD(basketVehData.getVehicleStrCD())

        if self.__cache:
            bestParams = _reCalcBestParameters(self.__cache) if isBestScoreInvalid else None
            params = map(lambda paramData: paramData.getFormattedParameters(bestParams), self.__cache)
            self.__view.updateItems(params)
        return
 def updateAddButtonLabel(self):
     selectedCount = len(self._vehDP.getSelected())
     if getVehicleComparisonBasketCtrl().getVehiclesCount() + selectedCount > MAX_VEHICLES_TO_COMPARE_COUNT:
         tooltip = VEH_COMPARE.ADDVEHPOPOVER_TOOLTIPS_ADDTOCOMPAREDISABLED
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON
         isEnabled = False
     else:
         tooltip = VEH_COMPARE.ADDVEHPOPOVER_TOOLTIPS_ADDTOCOMPARE
         icon = None
         isEnabled = selectedCount > 0
     self.as_setAddButtonStateS({'btnLabel': _ms(VEH_COMPARE.ADDVEHPOPOVER_BTNADD, count=selectedCount),
      'btnTooltip': tooltip,
      'btnIcon': icon,
      'btnEnabled': isEnabled})
     return
Esempio n. 35
0
 def _populate(self):
     """
     Prepare and set init data into Flash
     Subscribe on account updates
     """
     super(StoreComponent, self)._populate()
     self.__setNations()
     g_clientUpdateManager.addCallbacks(
         {'inventory': self.__onInventoryUpdate})
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onVehCompareBasketChanged
     comparisonBasket.onSwitchChange += self.__onVehCompareBasketSwitchChange
     g_itemsCache.onSyncCompleted += self._update
     g_instance.rentals.onRentChangeNotify += self._onTableUpdate
     g_instance.restore.onRestoreChangeNotify += self._onTableUpdate
     self.__populateFilters()
    def onModuleClick(self, moduleId):
        moduleId = int(moduleId)
        newComponentItem = _getModule(moduleId)
        isMainFit, mainReason = newComponentItem.mayInstall(self.__vehicle)
        if isMainFit:
            yield getPreviewInstallerProcessor(self.__vehicle, newComponentItem).request()
        conflictedModules = self.__modulesInstaller.getConflictedModules()
        if self.__modulesInstaller.hasConflicted():
            for modulesByType in conflictedModules:
                for moduleCD in modulesByType:
                    conflictedModule = _getModule(moduleCD)
                    yield getPreviewInstallerProcessor(self.__vehicle, conflictedModule).request()

        if not isMainFit:
            yield getPreviewInstallerProcessor(self.__vehicle, newComponentItem).request()
        self.__updateChangedSlots()
        self.__updateModulesType(getVehicleComparisonBasketCtrl().getVehicleAt(self.__vehIndex).getModulesType(strCD=self.__vehicle.descriptor.makeCompactDescr()))
 def _populate(self):
     super(VehiclePreview, self)._populate()
     g_clientUpdateManager.addCallbacks({'stats.credits': self.__updateBtnState,
      'stats.gold': self.__updateBtnState,
      'stats.freeXP': self.__updateBtnState})
     g_currentPreviewVehicle.onComponentInstalled += self.__updateStatus
     g_currentPreviewVehicle.onVehicleUnlocked += self.__updateBtnState
     g_currentPreviewVehicle.onVehicleInventoryChanged += self.__onInventoryChanged
     g_currentPreviewVehicle.onChanged += self.__onVehicleChanged
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange += self.__updateHeaderData
     if g_currentPreviewVehicle.isPresent():
         self.__updateHeaderData()
         self.__fullUpdate()
     else:
         event_dispatcher.showHangar()
 def __getVehCompareData(self, vehicle):
     comparisonBasket = getVehicleComparisonBasketCtrl()
     state, tooltip = resolveStateTooltip(
         comparisonBasket,
         vehicle,
         enabledTooltip=None,
         fullTooltip=VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_DISABLED)
     return {
         'modeAvailable':
         comparisonBasket.isEnabled(),
         'btnEnabled':
         state,
         'btnTooltip':
         tooltip,
         'label':
         text_styles.main(VEH_COMPARE.VEHPREVIEW_COMPAREINFO_ADDTOCOMPARE)
     }
Esempio n. 39
0
 def __updateCompareButtonState(self):
     comparisonBasket = getVehicleComparisonBasketCtrl()
     if not comparisonBasket.isAvailable():
         tooltip = VEH_COMPARE.COMPAREVEHICLEBTN_TOOLTIPS_MINICLIENT
     elif comparisonBasket.isFull():
         tooltip = MENU.VEHICLEINFO_COMPAREBTN_TOOLTIP
     else:
         tooltip = ''
     self.as_setCompareButtonDataS({
         'visible':
         comparisonBasket.isEnabled(),
         'enabled':
         comparisonBasket.isReadyToAdd(
             g_itemsCache.items.getItemByCD(self.vehicleCompactDescr)),
         'label':
         MENU.VEHICLEINFO_COMPAREBTN_LABEL,
         'tooltip':
         tooltip
     })
Esempio n. 40
0
 def __onChanged(self, changedData):
     """
     gui.game_control.VehComparisonBasket.onChange event handler
     :param changedData: instance of gui.game_control.veh_comparison_basket._ChangedData
     """
     comparisonBasket = getVehicleComparisonBasketCtrl()
     if changedData.addedCDs:
         cMgr = self.__getContainerManager()
         if not cMgr.isViewAvailable(ViewTypes.LOBBY_SUB, {POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.VEHICLE_COMPARE}):
             if comparisonBasket.getVehiclesCount() == 1:
                 self.__view.as_openVehicleCompareCartPopoverS(True)
             else:
                 vehicle = g_itemsCache.items.getItemByCD(changedData.addedCDs[-1])
                 vehName = '  '.join([int2roman(vehicle.level), vehicle.shortUserName])
                 vehTypeIcon = RES_ICONS.maps_icons_vehicletypes_gold(vehicle.type + '.png')
                 self.__view.as_showAddVehicleCompareAnimS({'vehName': vehName,
                  'vehType': vehTypeIcon})
     if changedData.addedCDs or changedData.removedCDs:
         self.__updateBtnVisibility(comparisonBasket)
 def _makeVO(self, vehicleCD, index):
     vehicle = g_itemsCache.items.getItemByCD(vehicleCD)
     if vehicle.isPremium:
         moduleType = 'premium'
     else:
         moduleType = getVehicleComparisonBasketCtrl().getVehicleAt(
             index).getModulesType()
     complectation = _ms(VEH_COMPARE.cartpopover_moduletype(moduleType))
     return {
         'id': vehicleCD,
         'index': index,
         'vehicleName': text_styles.main(vehicle.shortUserName),
         'complectation': complectation,
         'nation':
         getNationsFilterAssetPath(AVAILABLE_NAMES[vehicle.nationID]),
         'level': vehicle.level,
         'typeStr': vehicle.type,
         'smallIconPath': vehicle.iconSmall,
         'removeBtnTooltip': VEH_COMPARE.CARTPOPOVER_REMOVEBTN_TOOLTIP
     }
    def __onVehParamsChanged(self, data):
        isBestScoreInvalid = False
        for index in data:
            basketVehData = getVehicleComparisonBasketCtrl().getVehicleAt(
                index)
            paramsVehData = self.__cache[index]
            paramsVehData.setIsInInventory(basketVehData.isInInventory())
            paramsVehData.setModulesType(basketVehData.getModulesType())
            isBestScoreInvalid = isBestScoreInvalid or paramsVehData.setCrewLvl(
                basketVehData.getCrewLevel())
            isBestScoreInvalid = isBestScoreInvalid or paramsVehData.setVehicleStrCD(
                basketVehData.getVehicleStrCD())

        if self.__cache:
            bestParams = _reCalcBestParameters(
                self.__cache) if isBestScoreInvalid else None
            params = map(
                lambda paramData: paramData.getFormattedParameters(bestParams),
                self.__cache)
            self.__view.updateItems(params)
        return
    def onResetBtnBtnClick(self):

        def __logModuleWarning():
            LOG_WARNING('Unable to apply the following modules type: {}'.format(self.__currentModulesType))

        def __logModuleError():
            LOG_ERROR('Attempt to apply unsupported modules type: {}'.format(self.__currentModulesType))

        basketVehicle = getVehicleComparisonBasketCtrl().getVehicleAt(self.__vehIndex)
        if basketVehicle.isInInventory():
            if self.__currentModulesType == MODULES_TYPES.CUSTOM or self.__currentModulesType == MODULES_TYPES.BASIC:
                self.__initialize(basketVehicle.getInvVehStrCD(), MODULES_TYPES.CURRENT)
            elif self.__currentModulesType == MODULES_TYPES.CURRENT:
                __logModuleWarning()
            else:
                __logModuleError()
        elif self.__currentModulesType == MODULES_TYPES.CUSTOM:
            self.__initialize(basketVehicle.getStockVehStrCD(), MODULES_TYPES.BASIC)
        elif self.__currentModulesType == MODULES_TYPES.BASIC:
            __logModuleWarning()
        else:
            __logModuleError()
 def updateAddButtonLabel(self):
     selectedCount = len(self._vehDP.getSelected())
     if getVehicleComparisonBasketCtrl().getVehiclesCount(
     ) + selectedCount > MAX_VEHICLES_TO_COMPARE_COUNT:
         tooltip = VEH_COMPARE.ADDVEHPOPOVER_TOOLTIPS_ADDTOCOMPAREDISABLED
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON
         isEnabled = False
     else:
         tooltip = VEH_COMPARE.ADDVEHPOPOVER_TOOLTIPS_ADDTOCOMPARE
         icon = None
         isEnabled = selectedCount > 0
     self.as_setAddButtonStateS({
         'btnLabel':
         _ms(VEH_COMPARE.ADDVEHPOPOVER_BTNADD, count=selectedCount),
         'btnTooltip':
         tooltip,
         'btnIcon':
         icon,
         'btnEnabled':
         isEnabled
     })
     return
 def _populate(self):
     super(VehiclePreview, self)._populate()
     g_clientUpdateManager.addCallbacks({
         'stats.credits':
         self.__updateBtnState,
         'stats.gold':
         self.__updateBtnState,
         'stats.freeXP':
         self.__updateBtnState
     })
     g_currentPreviewVehicle.onComponentInstalled += self.__updateStatus
     g_currentPreviewVehicle.onVehicleUnlocked += self.__updateBtnState
     g_currentPreviewVehicle.onVehicleInventoryChanged += self.__onInventoryChanged
     g_currentPreviewVehicle.onChanged += self.__onVehicleChanged
     comparisonBasket = getVehicleComparisonBasketCtrl()
     comparisonBasket.onChange += self.__onCompareBasketChanged
     comparisonBasket.onSwitchChange += self.__updateHeaderData
     if g_currentPreviewVehicle.isPresent():
         self.__updateHeaderData()
         self.__fullUpdate()
     else:
         event_dispatcher.showHangar()
    def onModuleClick(self, moduleId):
        moduleId = int(moduleId)
        newComponentItem = _getModule(moduleId)
        isMainFit, mainReason = newComponentItem.mayInstall(self.__vehicle)
        if isMainFit:
            yield getPreviewInstallerProcessor(self.__vehicle,
                                               newComponentItem).request()
        conflictedModules = self.__modulesInstaller.getConflictedModules()
        if self.__modulesInstaller.hasConflicted():
            for modulesByType in conflictedModules:
                for moduleCD in modulesByType:
                    conflictedModule = _getModule(moduleCD)
                    yield getPreviewInstallerProcessor(
                        self.__vehicle, conflictedModule).request()

        if not isMainFit:
            yield getPreviewInstallerProcessor(self.__vehicle,
                                               newComponentItem).request()
        self.__updateChangedSlots()
        self.__updateModulesType(getVehicleComparisonBasketCtrl().getVehicleAt(
            self.__vehIndex).getModulesType(
                strCD=self.__vehicle.descriptor.makeCompactDescr()))
Esempio n. 47
0
    def _dispose(self):
        """
        Clear attrs and subscriptions
        """
        super(StoreComponent, self)._dispose()
        self.__clearTableData()
        while len(self.__nations):
            self.__nations.pop()

        self.__nations = None
        self._currentTab = None
        self.__filterHash.clear()
        self.__filterHash = None
        self.__invVehicles = None
        self.__clearSubFilter()
        self._table = None
        g_itemsCache.onSyncCompleted -= self._update
        g_instance.rentals.onRentChangeNotify -= self._onTableUpdate
        g_instance.restore.onRestoreChangeNotify -= self._onTableUpdate
        comparisonBasket = getVehicleComparisonBasketCtrl()
        comparisonBasket.onChange -= self.__onVehCompareBasketChanged
        comparisonBasket.onSwitchChange -= self.__onVehCompareBasketSwitchChange
        g_clientUpdateManager.removeObjectCallbacks(self)
        return
 def onCompareClick(self):
     """
     Add to compare button click handler
     """
     getVehicleComparisonBasketCtrl().addVehicle(self.__vehicleCD)
Esempio n. 49
0
 def compareVehicle(self, itemCD):
     getVehicleComparisonBasketCtrl().addVehicle(int(itemCD))
Esempio n. 50
0
 def onAddVehToCompare(self, itemCD):
     getVehicleComparisonBasketCtrl().addVehicle(int(itemCD))
Esempio n. 51
0
 def request4VehCompare(self, vehCD):
     """
     :param vehCD: float
     """
     getVehicleComparisonBasketCtrl().addVehicle(int(vehCD))
Esempio n. 52
0
def _getBtnVehCompareData(vehicle):
    comparisonBasket = getVehicleComparisonBasketCtrl()
    state, tooltip = resolveStateTooltip(comparisonBasket, vehicle, enabledTooltip=VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_ADDTOCOMPARE, fullTooltip=VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_DISABLED)
    return {'modeAvailable': comparisonBasket.isEnabled(),
     'btnEnabled': state,
     'btnTooltip': tooltip}
Esempio n. 53
0
 def _update(self, *args):
     self.as_updateS()
     self.as_setVehicleCompareAvailableS(
         getVehicleComparisonBasketCtrl().isEnabled())
 def removeAll(self):
     getVehicleComparisonBasketCtrl().removeAllVehicles()
Esempio n. 55
0
 def compareVehicle(self):
     getVehicleComparisonBasketCtrl().addVehicle(self._vehicleCD)
 def __onComparisonVehsChanged(self, changedData):
     """
     gui.game_control.VehComparisonBasket.onChange event handler
     :param changedData: instance of gui.game_control.veh_comparison_basket._ChangedData
     """
     self.rebuildList(getVehicleComparisonBasketCtrl().getVehiclesCDs())
 def remove(self, vehId):
     getVehicleComparisonBasketCtrl().removeVehicleByIdx(int(vehId))
Esempio n. 58
0
 def _manageVehCompareOptions(self, options):
     comparisonBasket = getVehicleComparisonBasketCtrl()
     if comparisonBasket.isEnabled():
         options.insert(2, self._makeItem(_EXTENDED_OPT_IDS.VEHICLE_COMPARE, MENU.contextmenu(_EXTENDED_OPT_IDS.VEHICLE_COMPARE), {'enabled': comparisonBasket.isReadyToAdd(g_itemsCache.items.getItemByCD(self._vehicleCD))}))
 def setFlashObject(self, movieClip, autoPopulate=True, setScript=True):
     getVehicleComparisonBasketCtrl(
     ).onChange += self.__onComparisonVehsChanged
     return super(_VehicleCompareCartDataProvider,
                  self).setFlashObject(movieClip, autoPopulate, setScript)
 def fini(self):
     getVehicleComparisonBasketCtrl(
     ).onChange -= self.__onComparisonVehsChanged
     self.clear()
     self._dispose()