Пример #1
0
    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)
Пример #2
0
    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)