def __getReady2BuyItems(self, pureCreditsReceived): ready2BuyModules = [] ready2BuyVehicles = [] creditsValue = self._stats.credits unlockedVehicleItems = g_techTreeDP.getUnlockedVehicleItems( self.__vehicle, self._unlocks) getter = self._items.getItemByCD for itemTypeCD, unlockProps in unlockedVehicleItems.iteritems(): item = getter(itemTypeCD) price = item.altPrice or item.buyPrice if price is not None and not item.isInInventory and creditsValue - price.credits <= pureCreditsReceived and creditsValue > price.credits: if item.itemTypeID == GUI_ITEM_TYPE.VEHICLE: ready2BuyVehicles.append( self.__makeVehiclePurchaseVO(item, unlockProps, price.credits)) elif not item.isInstalled(self.__vehicle): items = getVehicleComponentsByType( self.__vehicle, item.itemTypeID).values() if len(items) > 0: installedModule = max(items, key=attrgetter('level')) if item.level > installedModule.level: ready2BuyModules.append( self.__makeModulePurchaseVO( item, unlockProps, price.credits)) return (ready2BuyVehicles, ready2BuyModules)
def __getReady2BuyItems(self, pureCreditsReceived): ready2BuyModules = [] ready2BuyVehicles = [] creditsValue = self.itemsCache.items.stats.credits unlockedVehicleItems = g_techTreeDP.getUnlockedVehicleItems( self.__vehicle, self.__unlocks) getter = self.itemsCache.items.getItemByCD for itemTypeCD, unlockProps in unlockedVehicleItems.iteritems(): item = getter(itemTypeCD) price = item.getBuyPrice(preferred=False).price if price.isCurrencyDefined( Currency.CREDITS) and not item.isInInventory: priceCredits = price.credits if creditsValue - priceCredits <= pureCreditsReceived and creditsValue > priceCredits: if item.itemTypeID == GUI_ITEM_TYPE.VEHICLE: ready2BuyVehicles.append( self.__makeVehiclePurchaseVO( item, unlockProps, price.credits)) elif not item.isInstalled(self.__vehicle): items = getVehicleComponentsByType( self.__vehicle, item.itemTypeID).values() if items: installedModule = max( items, key=operator.itemgetter('level')) if item.level > installedModule.level: ready2BuyModules.append( self.__makeModulePurchaseVO( item, unlockProps, price.credits)) return (ready2BuyVehicles, ready2BuyModules)
def __getReady2BuyItems(self, pureCreditsReceived): ready2BuyModules = [] ready2BuyVehicles = [] creditsValue = self._stats.credits unlockedVehicleItems = g_techTreeDP.getUnlockedVehicleItems(self.__vehicle, self._unlocks) getter = self._items.getItemByCD for itemTypeCD, unlockProps in unlockedVehicleItems.iteritems(): item = getter(itemTypeCD) price = item.altPrice or item.buyPrice if price and not item.isInInventory and creditsValue - price[0] <= pureCreditsReceived and creditsValue > price[0]: if item.itemTypeID == GUI_ITEM_TYPE.VEHICLE: ready2BuyVehicles.append(self.__makeVehiclePurchaseVO(item, unlockProps, price[0])) elif not item.isInstalled(self.__vehicle): items = getVehicleComponentsByType(self.__vehicle, item.itemTypeID).values() if len(items) > 0: installedModule = max(items, key=attrgetter('level')) if item.level > installedModule.level: ready2BuyModules.append(self.__makeModulePurchaseVO(item, unlockProps, price[0])) return (ready2BuyVehicles, ready2BuyModules)