Exemplo n.º 1
0
    def getVehicleSummarizeInfo(self, player, result):
        """Gets information about all vehicles by specified account's database ID.
        :param player: instance of PlayerInfo.
        :param result: dictionary containing battle_results['vehicles'].
        :return: instance of VehicleSummarizeInfo.
        """
        dbID = player.dbID
        if dbID in self.__accountToVehicleID:
            vehicleID = self.__accountToVehicleID[dbID]
        else:
            vehicleID = 0
        if vehicleID in result:
            result = result[vehicleID]
        else:
            result = {}
        if vehicleID in self.__vehicles:
            items = self.__vehicles[vehicleID]
        else:
            items = []
        info = shared.VehicleSummarizeInfo(vehicleID, player)
        getItemByCD = self.itemsCache.items.getItemByCD
        for idx, item in enumerate(items):
            if idx >= len(result):
                continue
            info.addVehicleInfo(
                shared.VehicleDetailedInfo.makeForVehicle(
                    vehicleID, getItemByCD(item.intCD), weakref.proxy(player),
                    result[idx]))

        return info
Exemplo n.º 2
0
    def __getVehicleSummarize(self, vehicleID, player, result):
        if vehicleID in result:
            result = result[vehicleID]
        else:
            result = {}
        if vehicleID in self.__vehicles:
            items = self.__vehicles[vehicleID]
        else:
            items = []
        info = shared.VehicleSummarizeInfo(vehicleID, player)
        getItemByCD = self.itemsCache.items.getItemByCD

        def getVehicleResult(intCD):
            for veh in result:
                if veh['typeCompDescr'] == intCD:
                    return veh

            return None

        for idx, item in enumerate(items):
            if idx >= len(result):
                continue
            info.addVehicleInfo(shared.VehicleDetailedInfo.makeForVehicle(vehicleID, getItemByCD(item.intCD), weakref.proxy(player), getVehicleResult(item.intCD)))

        return info