Пример #1
0
 def dump(self, data):
     self.clear()
     self._cache['nodes'] = map(self._getVehicleData, data.getNodes())
     self._cache['scrollIndex'] = data._scrollIndex
     self._cache['displaySettings'].update(
         g_techTreeDP.getDisplaySettings(SelectedNation.getIndex()))
     return self._cache
Пример #2
0
 def dump(self, data):
     self.clear()
     nodes = data._nodes
     itemGetter = data.getItem
     self._cache['nodes'] = map(lambda node: self._getVehicleData(node, itemGetter(node['id'])), nodes)
     self._cache['scrollIndex'] = data._scrollIndex
     self._cache['displaySettings'].update(g_techTreeDP.getDisplaySettings(SelectedNation.getIndex()))
     return self._cache
Пример #3
0
    def load(self, nationID):
        self._nodes = []
        self._nodesIdx = {}
        self._scrollIndex = -1
        vehicleList = sorted(vehicles.g_list.getList(nationID).values(),
                             key=lambda item: item['level'])
        g_techTreeDP.load()
        self._displaySettings = g_techTreeDP.getDisplaySettings(nationID)
        invCDs = self._invItems.keys()
        getDisplayInfo = g_techTreeDP.getDisplayInfo
        selectedID = ResearchItemsData.getRootCD()
        hidden = self._hidden
        for item in vehicleList:
            nodeCD = item['compactDescr']
            displayInfo = getDisplayInfo(nodeCD)
            if displayInfo is not None:
                index = len(self._nodes)
                if nodeCD in hidden:
                    continue
                if nodeCD == selectedID:
                    self._scrollIndex = index
                self._nodesIdx[nodeCD] = index
                self._nodes.append(
                    self._getNodeData(nodeCD, displayInfo, invCDs))

        ResearchItemsData.clearRootCD()
        if g_currentVehicle.isPresent():
            vehicle = g_currentVehicle.item
            if nationID == vehicle.nationID:
                nodeCD = vehicle.intCD
                if nodeCD in self._nodesIdx.keys():
                    index = self._nodesIdx[nodeCD]
                    node = self._nodes[index]
                    if self._scrollIndex < 0:
                        self._scrollIndex = index
                    if nodeCD in self._invItems.keys():
                        node['state'] |= NODE_STATE.SELECTED
                    else:
                        LOG_ERROR('Current vehicle not found in inventory',
                                  nodeCD)
                else:
                    _, _, itemID = vehicles.parseIntCompactDescr(nodeCD)
                    if itemID in hidden:
                        LOG_DEBUG(
                            'Current vehicle is hidden. Is it define in nation tree:',
                            nodeCD,
                            getDisplayInfo(nodeCD) is not None)
                    else:
                        LOG_ERROR('Current vehicle not found in nation tree',
                                  nodeCD)
        return
Пример #4
0
    def load(self, nationID):
        self._nodes = []
        self._nodesIdx = {}
        self._scrollIndex = -1
        vehicleList = sorted(vehicles.g_list.getList(nationID).values(), key=lambda item: item['level'])
        g_techTreeDP.load()
        self._displaySettings = g_techTreeDP.getDisplaySettings(nationID)
        invCDs = self._invItems.keys()
        getDisplayInfo = g_techTreeDP.getDisplayInfo
        selectedID = ResearchItemsData.getRootCD()
        hidden = self._hidden
        for item in vehicleList:
            nodeCD = item['compactDescr']
            displayInfo = getDisplayInfo(nodeCD)
            if displayInfo is not None:
                index = len(self._nodes)
                if nodeCD in hidden:
                    continue
                if nodeCD == selectedID:
                    self._scrollIndex = index
                self._nodesIdx[nodeCD] = index
                self._nodes.append(self._getNodeData(nodeCD, displayInfo, invCDs))

        ResearchItemsData.clearRootCD()
        if g_currentVehicle.isPresent():
            vehicle = g_currentVehicle.item
            if nationID == vehicle.nationID:
                nodeCD = vehicle.intCD
                if nodeCD in self._nodesIdx.keys():
                    index = self._nodesIdx[nodeCD]
                    node = self._nodes[index]
                    if self._scrollIndex < 0:
                        self._scrollIndex = index
                    if nodeCD in self._invItems.keys():
                        node['state'] |= NODE_STATE.SELECTED
                    else:
                        LOG_ERROR('Current vehicle not found in inventory', nodeCD)
                else:
                    _, _, itemID = vehicles.parseIntCompactDescr(nodeCD)
                    if itemID in hidden:
                        LOG_DEBUG('Current vehicle is hidden. Is it define in nation tree:', nodeCD, getDisplayInfo(nodeCD) is not None)
                    else:
                        LOG_ERROR('Current vehicle not found in nation tree', nodeCD)
        return