def placeUniqueBuildings(self): lBuildings = [] for iBuilding in xrange(gc.getNumBuildingInfos()): if utils.getBuildingCategory(iBuilding) == 2 and not gc.getBuildingInfo(iBuilding).isGraphicalOnly(): lBuildings.append((gc.getBuildingInfo(iBuilding).getDescription(), iBuilding)) lBuildings.sort() self.list = lBuildings self.placeItems(WidgetTypes.WIDGET_PEDIA_JUMP_TO_BUILDING, gc.getBuildingInfo)
def placeGreatWonders(self): lBuildings = [] for iBuilding in xrange(gc.getNumBuildingInfos()): if utils.getBuildingCategory(iBuilding) == 4: szDescription = gc.getBuildingInfo(iBuilding).getDescription().replace("The ", "") lBuildings.append((szDescription, iBuilding)) lBuildings.sort() self.list = lBuildings self.placeItems(WidgetTypes.WIDGET_PEDIA_JUMP_TO_BUILDING, gc.getBuildingInfo)
def placeBuildings(self): lBuildings = [] for iBuilding in xrange(gc.getNumBuildingInfos()): if utils.getBuildingCategory(iBuilding) == 0: if iBuilding == utils.getUniqueBuilding(self.iActivePlayer, iBuilding): lBuildings.append((gc.getBuildingInfo(iBuilding).getDescription(), iBuilding)) lBuildings.sort() self.list = lBuildings self.placeItems(WidgetTypes.WIDGET_PEDIA_JUMP_TO_BUILDING, gc.getBuildingInfo)
def pediaJump(self, iCategory, iItem, bRemoveFwdList, bIsLink): bAddToHistory = False if not self.pediaHistory: bAddToHistory = True elif iCategory != PEDIA_MAIN or iItem == PEDIA_UNIT_UPGRADES or iItem == PEDIA_PROMOTION_TREE: prev = self.pediaHistory[0] if prev[0] != iCategory or prev[1] != iItem: bAddToHistory = True if bAddToHistory: self.pediaHistory.append((iCategory, iItem)) if bRemoveFwdList: self.pediaFuture = [] screen = self.getScreen() if not screen.isActive(): self.createScreen(screen) if iCategory == PEDIA_MAIN: BugUtil.debug("Main link %d" % iItem) self.showContents(bIsLink, iItem) screen.setSelectedListBoxStringGFC(self.CATEGORY_LIST_ID, iItem - (PEDIA_MAIN + 1)) #self.iCategory = iItem return if iCategory == PEDIA_BUILDINGS: iCategory += utils.getBuildingCategory(iItem) elif iCategory == PEDIA_UNITS: iCategory += self.getUnitCategory(iItem) elif iCategory == PEDIA_BTS_CONCEPTS: iCategory = self.determineNewConceptSubCategory(iItem) BugUtil.debug("Switching to category %d" % iCategory) self.showContents(bIsLink, iCategory) screen.setSelectedListBoxStringGFC(self.CATEGORY_LIST_ID, iCategory - (PEDIA_MAIN + 1)) if (iCategory not in (PEDIA_UNIT_UPGRADES, PEDIA_PROMOTION_TREE)): screen.enableSelect(self.ITEM_LIST_ID, True) if self.iItemIndex != -1: BugUtil.debug("Deselecting item %d" % self.iItemIndex) screen.selectRow(self.ITEM_LIST_ID, self.iItemIndex, False) BugUtil.debug("Selecting item %d" % iItem) self.iItem = iItem for i, item in enumerate(self.list): if (item[1] == iItem): BugUtil.debug("Selecting %dth item %d" % (i, iItem)) #screen.setSelectedListBoxStringGFC(self.ITEM_LIST_ID, i) screen.selectRow(self.ITEM_LIST_ID, i, True) self.iItemIndex = i #break #self.iCategory = iCategory BugUtil.debug("Drawing screen %d item %d" % (iCategory, iItem)) self.deleteAllWidgets() func = self.mapScreenFunctions.get(iCategory) func.interfaceScreen(iItem)
def placeReligiousBuildings(self): lBuildings = [] prevReligion = -1 for iBuilding in xrange(gc.getNumBuildingInfos()): if utils.getBuildingCategory(iBuilding) == 1: iReligion = gc.getBuildingInfo(iBuilding).getReligionType() if iReligion != prevReligion: hReligion = CyTranslator().getText("TXT_KEY_PEDIA_HEADER_RELIGION", (gc.getReligionInfo(iReligion).getDescription(), '')) lBuildings.append(("", -1)) lBuildings.append((hReligion, -1)) szDescription = gc.getBuildingInfo(iBuilding).getDescription().replace("The ", "") lBuildings.append((szDescription, iBuilding)) prevReligion = iReligion del lBuildings[0] self.list = lBuildings self.placeItems(WidgetTypes.WIDGET_PEDIA_JUMP_TO_BUILDING, gc.getBuildingInfo)