def drawCityInfo(self, iReligion): if (not self.bScreenUp): return screen = self.getScreen() if (iReligion == gc.getNumReligionInfos()): iLinkReligion = -1 else: iLinkReligion = iReligion if AdvisorOpt.isReligious(): # Zappara start - make space for horizontal slider screen.addPanel(self.AREA1_ID, "", "", True, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA + self.H_RELIGION_AREA + self.H_SCROLL_OFFSET + 3, self.W_RELIGION_AREA, self.H_CITY_AREA - self.H_SCROLL_OFFSET + 20, PanelStyles.PANEL_STYLE_MAIN) #screen.addPanel(self.AREA1_ID, "", "", True, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA + self.H_RELIGION_AREA + 3, self.W_RELIGION_AREA, self.H_CITY_AREA, PanelStyles.PANEL_STYLE_MAIN) # Zappara end else: screen.addPanel(self.AREA1_ID, "", "", True, True, self.X_CITY1_AREA, self.Y_CITY_AREA, self.W_CITY_AREA, self.H_CITY_AREA, PanelStyles.PANEL_STYLE_MAIN) screen.addPanel(self.AREA2_ID, "", "", True, True, self.X_CITY2_AREA, self.Y_CITY_AREA, self.W_CITY_AREA, self.H_CITY_AREA, PanelStyles.PANEL_STYLE_MAIN) szArea = self.RELIGION_PANEL_ID for iRel in self.RELIGIONS: if (self.iReligionSelected == iRel): screen.setState(self.getReligionButtonName(iRel), True) else: screen.setState(self.getReligionButtonName(iRel), False) if (self.iReligionSelected == gc.getNumReligionInfos()): screen.setState(self.getReligionButtonName(gc.getNumReligionInfos()), True) else: screen.setState(self.getReligionButtonName(gc.getNumReligionInfos()), False) iPlayer = PyPlayer(self.iActivePlayer) cityList = iPlayer.getCityList() # start of BUG indent for new code if AdvisorOpt.isReligious(): # create religion table screen.addTableControlGFC(self.TABLE_ID, self.TABLE_COLUMNS, self.X_RELIGION_AREA + 15, self.Y_RELIGION_AREA + self.H_RELIGION_AREA + self.H_SCROLL_OFFSET + 3 + 15, self.W_RELIGION_AREA - 2 * 15, self.H_CITY_AREA - self.H_SCROLL_OFFSET - 5, True, True, 24,24, TableStyles.TABLE_STYLE_STANDARD) screen.enableSort(self.TABLE_ID) screen.setTableColumnHeader(self.TABLE_ID, self.COL_ZOOM_CITY, "", 30) screen.setTableColumnHeader(self.TABLE_ID, self.COL_CITY_NAME, self.sCity, 115) for iRel in range(self.NUM_RELIGIONS): # columns for religious icons if (gc.getGame().getReligionGameTurnFounded(iRel) >= 0): szReligionIcon = u"<font=2>%c</font>" %(gc.getReligionInfo(iRel).getChar()) screen.setTableColumnHeader(self.TABLE_ID, self.COL_FIRST_RELIGION + iRel, szReligionIcon, 25) # columns for units (missionaries) for type in ReligionUtil.getUnitTypes(): screen.setTableColumnHeader(self.TABLE_ID, self.COL_FIRST_UNIT + type.index, u"<font=2>%s</font>" % type.icon, 30) # columns for buildings (temples, monasteries, cathedral, shrine) for type in ReligionUtil.getBuildingTypes(): screen.setTableColumnHeader(self.TABLE_ID, self.COL_FIRST_BUILDING + type.index, u"<font=2>%s</font>" % type.icon, 30) # column for religious impact screen.setTableColumnHeader(self.TABLE_ID, self.COL_EFFECTS, "", 400) # Loop through the cities for iCity in range(len(cityList)): pLoopCity = cityList[iCity] screen.appendTableRow(self.TABLE_ID) screen.setTableText(self.TABLE_ID, self.COL_ZOOM_CITY, iCity, "" , self.zoomArt, WidgetTypes.WIDGET_ZOOM_CITY, pLoopCity.getOwner(), pLoopCity.getID(), CvUtil.FONT_LEFT_JUSTIFY) screen.setTableText(self.TABLE_ID, self.COL_CITY_NAME, iCity, pLoopCity.getName(), "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY) lHolyCity = pLoopCity.getHolyCity() lReligions = pLoopCity.getReligions() for iRel in range(self.NUM_RELIGIONS): if (gc.getGame().getReligionGameTurnFounded(iRel) >= 0): szReligionIcon = "" if iRel in lHolyCity: szReligionIcon = u"<font=2>%c</font>" %(gc.getReligionInfo(iRel).getHolyCityChar()) elif iRel in lReligions: szReligionIcon = u"<font=2>%c</font>" %(gc.getReligionInfo(iRel).getChar()) screen.setTableText(self.TABLE_ID, self.COL_FIRST_RELIGION + iRel, iCity, szReligionIcon, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_CENTER_JUSTIFY) if ReligionUtil.isValid(iReligion): # check for missionaries for i in range(ReligionUtil.getNumUnitTypes()): iUnit = ReligionUtil.getUnit(iReligion, i) if pLoopCity.GetCy().getFirstUnitOrder(iUnit) != -1: sUnit = self.objectUnderConstruction elif pLoopCity.GetCy().canTrain(iUnit, False, False): sUnit = self.objectPossible else: sUnit = self.objectNotPossible screen.setTableText(self.TABLE_ID, self.COL_FIRST_UNIT + i, iCity, sUnit, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_CENTER_JUSTIFY) # check for temples, cathedral, monasteries, shrine for i in range(ReligionUtil.getNumBuildingTypes()): iBldg = ReligionUtil.getBuilding(iReligion, i) sBldg = self.calculateBuilding(pLoopCity, iBldg) screen.setTableText(self.TABLE_ID, self.COL_FIRST_BUILDING + i, iCity, sBldg, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_CENTER_JUSTIFY) # advc: Moved into subroutine sHelp = self.cityHelp(lReligions, pLoopCity.GetCy(), iLinkReligion) screen.setTableText(self.TABLE_ID, self.COL_EFFECTS, iCity, sHelp, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY) # start of BUG indent of original code else: # Loop through the cities szLeftCities = u"" szRightCities = u"" for i in range(len(cityList)): bFirstColumn = (i % 2 == 0) pLoopCity = cityList[i] # Constructing the City name... szCityName = u"" if pLoopCity.isCapital(): szCityName += u"%c" % CyGame().getSymbolID(FontSymbols.STAR_CHAR) lHolyCity = pLoopCity.getHolyCity() if lHolyCity: for iI in range(len(lHolyCity)): szCityName += u"%c" %(gc.getReligionInfo(lHolyCity[iI]).getHolyCityChar()) lReligions = pLoopCity.getReligions() if lReligions: for iI in range(len(lReligions)): if lReligions[iI] not in lHolyCity: szCityName += u"%c" %(gc.getReligionInfo(lReligions[iI]).getChar()) szCityName += pLoopCity.getName()[0:17] + " " # advc: Moved into subroutine szCityName += self.cityHelp(lReligions, pLoopCity.GetCy(), iLinkReligion) if bFirstColumn: szLeftCities += u"<font=3>" + szCityName + u"</font>\n" else: szRightCities += u"<font=3>" + szCityName + u"</font>\n" screen.addMultilineText("Child" + self.AREA1_ID, szLeftCities, self.X_CITY1_AREA+5, self.Y_CITY_AREA+5, self.W_CITY_AREA-10, self.H_CITY_AREA-10, WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY) screen.addMultilineText("Child" + self.AREA2_ID, szRightCities, self.X_CITY2_AREA+5, self.Y_CITY_AREA+5, self.W_CITY_AREA-10, self.H_CITY_AREA-10, WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY) # end of BUG indent of original code # Convert Button.... iLink = 0 if (gc.getPlayer(self.iActivePlayer).canChangeReligion()): iLink = 1 if (not self.canConvert(iLinkReligion) or iLinkReligion == self.iReligionOriginal): screen.setText(self.CONVERT_NAME, "Background", self.EXIT_TEXT, CvUtil.FONT_RIGHT_JUSTIFY, self.X_EXIT, self.Y_EXIT, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, 1, 0) screen.hide(self.CANCEL_NAME) szAnarchyTime = CyGameTextMgr().setConvertHelp(self.iActivePlayer, iLinkReligion) else: screen.setText(self.CONVERT_NAME, "Background", self.CONVERT_TEXT, CvUtil.FONT_RIGHT_JUSTIFY, self.X_EXIT, self.Y_EXIT, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_CONVERT, iLinkReligion, 1) screen.show(self.CANCEL_NAME) szAnarchyTime = localText.getText("TXT_KEY_ANARCHY_TURNS", (gc.getPlayer(self.iActivePlayer).getReligionAnarchyLength(), )) # Turns of Anarchy Text... screen.setLabel(self.RELIGION_ANARCHY_WIDGET, "Background", u"<font=3>" + szAnarchyTime + u"</font>", CvUtil.FONT_LEFT_JUSTIFY, self.X_ANARCHY, self.Y_ANARCHY, self.Z_TEXT, FontTypes.GAME_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1)
def drawCityInfo(self, iReligion): if not self.bScreenUp: return screen = self.getScreen() if iReligion == gc.getNumReligionInfos(): iLinkReligion = -1 else: iLinkReligion = iReligion if AdvisorOpt.isReligious(): # Zappara start - make space for horizontal slider screen.addPanel( self.AREA1_ID, "", "", True, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA + self.H_RELIGION_AREA + self.H_SCROLL_OFFSET + 3, self.W_RELIGION_AREA, self.H_CITY_AREA - self.H_SCROLL_OFFSET + 20, PanelStyles.PANEL_STYLE_MAIN, ) # screen.addPanel(self.AREA1_ID, "", "", True, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA + self.H_RELIGION_AREA + 3, self.W_RELIGION_AREA, self.H_CITY_AREA, PanelStyles.PANEL_STYLE_MAIN) # Zappara end else: screen.addPanel( self.AREA1_ID, "", "", True, True, self.X_CITY1_AREA, self.Y_CITY_AREA, self.W_CITY_AREA, self.H_CITY_AREA, PanelStyles.PANEL_STYLE_MAIN, ) screen.addPanel( self.AREA2_ID, "", "", True, True, self.X_CITY2_AREA, self.Y_CITY_AREA, self.W_CITY_AREA, self.H_CITY_AREA, PanelStyles.PANEL_STYLE_MAIN, ) szArea = self.RELIGION_PANEL_ID for iRel in self.RELIGIONS: if self.iReligionSelected == iRel: screen.setState(self.getReligionButtonName(iRel), True) else: screen.setState(self.getReligionButtonName(iRel), False) if self.iReligionSelected == gc.getNumReligionInfos(): screen.setState(self.getReligionButtonName(gc.getNumReligionInfos()), True) else: screen.setState(self.getReligionButtonName(gc.getNumReligionInfos()), False) iPlayer = PyPlayer(self.iActivePlayer) cityList = iPlayer.getCityList() # start of BUG indent for new code if AdvisorOpt.isReligious(): # create religion table screen.addTableControlGFC( self.TABLE_ID, self.TABLE_COLUMNS, self.X_RELIGION_AREA + 15, self.Y_RELIGION_AREA + self.H_RELIGION_AREA + self.H_SCROLL_OFFSET + 3 + 15, self.W_RELIGION_AREA - 2 * 15, self.H_CITY_AREA - self.H_SCROLL_OFFSET - 5, True, True, 24, 24, TableStyles.TABLE_STYLE_STANDARD, ) screen.enableSort(self.TABLE_ID) screen.setTableColumnHeader(self.TABLE_ID, self.COL_ZOOM_CITY, "", 30) screen.setTableColumnHeader(self.TABLE_ID, self.COL_CITY_NAME, self.sCity, 115) for iRel in range(self.NUM_RELIGIONS): # columns for religious icons if gc.getGame().getReligionGameTurnFounded(iRel) >= 0: szReligionIcon = u"<font=2>%c</font>" % (gc.getReligionInfo(iRel).getChar()) screen.setTableColumnHeader(self.TABLE_ID, self.COL_FIRST_RELIGION + iRel, szReligionIcon, 25) # columns for units (missionaries) for type in ReligionUtil.getUnitTypes(): screen.setTableColumnHeader( self.TABLE_ID, self.COL_FIRST_UNIT + type.index, u"<font=2>%s</font>" % type.icon, 30 ) # columns for buildings (temples, monasteries, cathedral, shrine) for type in ReligionUtil.getBuildingTypes(): screen.setTableColumnHeader( self.TABLE_ID, self.COL_FIRST_BUILDING + type.index, u"<font=2>%s</font>" % type.icon, 30 ) # column for religious impact screen.setTableColumnHeader(self.TABLE_ID, self.COL_EFFECTS, "", 400) # Loop through the cities for iCity in range(len(cityList)): pLoopCity = cityList[iCity] screen.appendTableRow(self.TABLE_ID) screen.setTableText( self.TABLE_ID, self.COL_ZOOM_CITY, iCity, "", self.zoomArt, WidgetTypes.WIDGET_ZOOM_CITY, pLoopCity.getOwner(), pLoopCity.getID(), CvUtil.FONT_LEFT_JUSTIFY, ) screen.setTableText( self.TABLE_ID, self.COL_CITY_NAME, iCity, pLoopCity.getName(), "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY, ) lHolyCity = pLoopCity.getHolyCity() lReligions = pLoopCity.getReligions() for iRel in range(self.NUM_RELIGIONS): if gc.getGame().getReligionGameTurnFounded(iRel) >= 0: szReligionIcon = "" if iRel in lHolyCity: szReligionIcon = u"<font=2>%c</font>" % (gc.getReligionInfo(iRel).getHolyCityChar()) elif iRel in lReligions: szReligionIcon = u"<font=2>%c</font>" % (gc.getReligionInfo(iRel).getChar()) screen.setTableText( self.TABLE_ID, self.COL_FIRST_RELIGION + iRel, iCity, szReligionIcon, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_CENTER_JUSTIFY, ) if ReligionUtil.isValid(iReligion): # check for missionaries for i in range(ReligionUtil.getNumUnitTypes()): iUnit = ReligionUtil.getUnit(iReligion, i) if pLoopCity.GetCy().getFirstUnitOrder(iUnit) != -1: sUnit = self.objectUnderConstruction elif pLoopCity.GetCy().canTrain(iUnit, False, False): sUnit = self.objectPossible else: sUnit = self.objectNotPossible screen.setTableText( self.TABLE_ID, self.COL_FIRST_UNIT + i, iCity, sUnit, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_CENTER_JUSTIFY, ) # check for temples, cathedral, monasteries, shrine for i in range(ReligionUtil.getNumBuildingTypes()): iBldg = ReligionUtil.getBuilding(iReligion, i) sBldg = self.calculateBuilding(pLoopCity, iBldg) screen.setTableText( self.TABLE_ID, self.COL_FIRST_BUILDING + i, iCity, sBldg, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_CENTER_JUSTIFY, ) if iLinkReligion == -1: bFirst = True sHelp = "" for iI in range(len(lReligions)): szTempBuffer = CyGameTextMgr().getReligionHelpCity( lReligions[iI], pLoopCity.GetCy(), False, False, False, True ) if szTempBuffer: if not bFirst: sHelp += u", " sHelp += szTempBuffer bFirst = False else: sHelp = CyGameTextMgr().getReligionHelpCity( iLinkReligion, pLoopCity.GetCy(), False, False, True, False ) screen.setTableText( self.TABLE_ID, self.COL_EFFECTS, iCity, sHelp, "", WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY, ) # start of BUG indent of original code else: # Loop through the cities szLeftCities = u"" szRightCities = u"" for i in range(len(cityList)): bFirstColumn = i % 2 == 0 pLoopCity = cityList[i] # Constructing the City name... szCityName = u"" if pLoopCity.isCapital(): szCityName += u"%c" % CyGame().getSymbolID(FontSymbols.STAR_CHAR) lHolyCity = pLoopCity.getHolyCity() if lHolyCity: for iI in range(len(lHolyCity)): szCityName += u"%c" % (gc.getReligionInfo(lHolyCity[iI]).getHolyCityChar()) lReligions = pLoopCity.getReligions() if lReligions: for iI in range(len(lReligions)): if lReligions[iI] not in lHolyCity: szCityName += u"%c" % (gc.getReligionInfo(lReligions[iI]).getChar()) szCityName += pLoopCity.getName()[0:17] + " " if iLinkReligion == -1: bFirst = True for iI in range(len(lReligions)): szTempBuffer = CyGameTextMgr().getReligionHelpCity( lReligions[iI], pLoopCity.GetCy(), False, False, False, True ) if szTempBuffer: if not bFirst: szCityName += u", " szCityName += szTempBuffer bFirst = False else: szCityName += CyGameTextMgr().getReligionHelpCity( iLinkReligion, pLoopCity.GetCy(), False, False, True, False ) if bFirstColumn: szLeftCities += u"<font=3>" + szCityName + u"</font>\n" else: szRightCities += u"<font=3>" + szCityName + u"</font>\n" screen.addMultilineText( "Child" + self.AREA1_ID, szLeftCities, self.X_CITY1_AREA + 5, self.Y_CITY_AREA + 5, self.W_CITY_AREA - 10, self.H_CITY_AREA - 10, WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY, ) screen.addMultilineText( "Child" + self.AREA2_ID, szRightCities, self.X_CITY2_AREA + 5, self.Y_CITY_AREA + 5, self.W_CITY_AREA - 10, self.H_CITY_AREA - 10, WidgetTypes.WIDGET_GENERAL, -1, -1, CvUtil.FONT_LEFT_JUSTIFY, ) # end of BUG indent of original code # Convert Button.... iLink = 0 if gc.getPlayer(self.iActivePlayer).canChangeReligion(): iLink = 1 if not self.canConvert(iLinkReligion) or iLinkReligion == self.iReligionOriginal: screen.setText( self.CONVERT_NAME, "Background", self.EXIT_TEXT, CvUtil.FONT_RIGHT_JUSTIFY, self.X_EXIT, self.Y_EXIT, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, 1, 0, ) screen.hide(self.CANCEL_NAME) szAnarchyTime = CyGameTextMgr().setConvertHelp(self.iActivePlayer, iLinkReligion) else: screen.setText( self.CONVERT_NAME, "Background", self.CONVERT_TEXT, CvUtil.FONT_RIGHT_JUSTIFY, self.X_EXIT, self.Y_EXIT, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_CONVERT, iLinkReligion, 1, ) screen.show(self.CANCEL_NAME) szAnarchyTime = localText.getText( "TXT_KEY_ANARCHY_TURNS", (gc.getPlayer(self.iActivePlayer).getReligionAnarchyLength(),) ) # Turns of Anarchy Text... screen.setLabel( self.RELIGION_ANARCHY_WIDGET, "Background", u"<font=3>" + szAnarchyTime + u"</font>", CvUtil.FONT_LEFT_JUSTIFY, self.X_ANARCHY, self.Y_ANARCHY, self.Z_TEXT, FontTypes.GAME_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1, )
def interfaceScreen (self): self.SCREEN_ART = ArtFileMgr.getInterfaceArtInfo("TECH_BG").getPath() self.NO_STATE_BUTTON_ART = ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_CANCEL").getPath() self.EXIT_TEXT = u"<font=4>" + localText.getText("TXT_KEY_PEDIA_SCREEN_EXIT", ()).upper() + "</font>" self.CONVERT_TEXT = u"<font=4>" + localText.getText("TXT_KEY_RELIGION_CONVERT", ()).upper() + "</font>" self.CANCEL_TEXT = u"<font=4>" + localText.getText("TXT_KEY_SCREEN_CANCEL", ()).upper() + "</font>" self.iActivePlayer = gc.getGame().getActivePlayer() # BUG - start if self.NUM_RELIGIONS == -1: self.NUM_RELIGIONS = ReligionUtil.getNumReligions() self.COL_FIRST_UNIT = self.COL_FIRST_RELIGION + self.NUM_RELIGIONS self.COL_FIRST_BUILDING = self.COL_FIRST_UNIT + ReligionUtil.getNumUnitTypes() self.COL_EFFECTS = self.COL_FIRST_BUILDING + ReligionUtil.getNumBuildingTypes() self.TABLE_COLUMNS = self.COL_EFFECTS + 1 # BUG - end self.bScreenUp = True screen = self.getScreen() if screen.isActive(): return screen.setRenderInterfaceOnly(True); screen.showScreen( PopupStates.POPUPSTATE_IMMEDIATE, False) # Set the background and exit button, and show the screen screen.setDimensions(screen.centerX(0), screen.centerY(0), self.W_SCREEN, self.H_SCREEN) screen.addDDSGFC(self.BACKGROUND_ID, ArtFileMgr.getInterfaceArtInfo("MAINMENU_SLIDESHOW_LOAD").getPath(), 0, 0, self.W_SCREEN, self.H_SCREEN, WidgetTypes.WIDGET_GENERAL, -1, -1 ) screen.addPanel( "TechTopPanel", u"", u"", True, False, 0, 0, self.W_SCREEN, 55, PanelStyles.PANEL_STYLE_TOPBAR ) screen.addPanel( "TechBottomPanel", u"", u"", True, False, 0, 713, self.W_SCREEN, 55, PanelStyles.PANEL_STYLE_BOTTOMBAR ) screen.setText(self.CANCEL_NAME, "Background", self.CANCEL_TEXT, CvUtil.FONT_CENTER_JUSTIFY, self.X_CANCEL, self.Y_CANCEL, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, 1, 0) screen.showWindowBackground(False) # Header... screen.setLabel(self.HEADER_NAME, "Background", u"<font=4b>" + localText.getText("TXT_KEY_RELIGION_SCREEN_TITLE", ()).upper() + u"</font>", CvUtil.FONT_CENTER_JUSTIFY, self.X_SCREEN, self.Y_TITLE, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1) # Make the scrollable areas for the city list... if (CyGame().isDebugMode()): self.szDropdownName = self.DEBUG_DROPDOWN_ID screen.addDropDownBoxGFC(self.szDropdownName, 22, 12, 300, WidgetTypes.WIDGET_GENERAL, -1, -1, FontTypes.GAME_FONT) for j in range(gc.getMAX_PLAYERS()): if (gc.getPlayer(j).isAlive()): screen.addPullDownString(self.szDropdownName, gc.getPlayer(j).getName(), j, j, False ) if AdvisorOpt.isReligious(): self.X_RELIGION_AREA = 45 self.Y_RELIGION_AREA = 84 - 40 self.W_RELIGION_AREA = 934 self.H_RELIGION_AREA = 175 + 75 # screen.addPanel(szArea, "", "", False, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA - 40, self.W_RELIGION_AREA, self.H_RELIGION_AREA + 80, PanelStyles.PANEL_STYLE_MAIN) if AdvisorOpt.isShowAllReligions(): self.RELIGIONS = ReligionUtil.getAllReligions() elif AdvisorOpt.isShowFoundedReligions(): self.RELIGIONS = ReligionUtil.getFoundedReligions() else: self.RELIGIONS = ReligionUtil.getPlayerReligions(gc.getPlayer(self.iActivePlayer)) else: self.X_RELIGION_AREA = 45 self.Y_RELIGION_AREA = 84 self.W_RELIGION_AREA = 934 self.H_RELIGION_AREA = 175 # self.RELIGIONS = ReligionUtil.getAllReligions() + (ReligionUtil.getNumReligions(),) # K-Mod. the original BUG code simply doesn't run. (advc, note: Also fixed in BUG 4.5.) self.RELIGIONS = range(gc.getNumReligionInfos()) # Make the scrollable area for the religions list... screen.addPanel(self.RELIGION_PANEL_ID, "", "", False, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA, self.W_RELIGION_AREA, self.H_RELIGION_AREA+5, PanelStyles.PANEL_STYLE_MAIN) screen.addScrollPanel( "ReligionList", u"", self.X_RELIGION_AREA, self.Y_RELIGION_AREA, self.W_RELIGION_AREA, self.H_RELIGION_AREA, PanelStyles.PANEL_STYLE_EXTERNAL ) screen.setActivation( "ReligionList", ActivationTypes.ACTIVATE_NORMAL ) # Draw Religion info self.drawReligionInfo() self.drawHelpInfo() self.drawCityInfo(self.iReligionSelected)
def interfaceScreen(self): self.SCREEN_ART = ArtFileMgr.getInterfaceArtInfo("TECH_BG").getPath() self.NO_STATE_BUTTON_ART = ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_CANCEL").getPath() self.EXIT_TEXT = u"<font=4>" + localText.getText("TXT_KEY_PEDIA_SCREEN_EXIT", ()).upper() + "</font>" self.CONVERT_TEXT = u"<font=4>" + localText.getText("TXT_KEY_RELIGION_CONVERT", ()).upper() + "</font>" self.CANCEL_TEXT = u"<font=4>" + localText.getText("TXT_KEY_SCREEN_CANCEL", ()).upper() + "</font>" self.iActivePlayer = gc.getGame().getActivePlayer() # BUG - start if self.NUM_RELIGIONS == -1: self.NUM_RELIGIONS = ReligionUtil.getNumReligions() self.COL_FIRST_UNIT = self.COL_FIRST_RELIGION + self.NUM_RELIGIONS self.COL_FIRST_BUILDING = self.COL_FIRST_UNIT + ReligionUtil.getNumUnitTypes() self.COL_EFFECTS = self.COL_FIRST_BUILDING + ReligionUtil.getNumBuildingTypes() self.TABLE_COLUMNS = self.COL_EFFECTS + 1 # BUG - end self.bScreenUp = True screen = self.getScreen() if screen.isActive(): return screen.setRenderInterfaceOnly(True) screen.showScreen(PopupStates.POPUPSTATE_IMMEDIATE, False) # Set the background and exit button, and show the screen screen.setDimensions(screen.centerX(0), screen.centerY(0), self.W_SCREEN, self.H_SCREEN) screen.addDDSGFC( self.BACKGROUND_ID, ArtFileMgr.getInterfaceArtInfo("MAINMENU_SLIDESHOW_LOAD").getPath(), 0, 0, self.W_SCREEN, self.H_SCREEN, WidgetTypes.WIDGET_GENERAL, -1, -1, ) screen.addPanel("TechTopPanel", u"", u"", True, False, 0, 0, self.W_SCREEN, 55, PanelStyles.PANEL_STYLE_TOPBAR) screen.addPanel( "TechBottomPanel", u"", u"", True, False, 0, 713, self.W_SCREEN, 55, PanelStyles.PANEL_STYLE_BOTTOMBAR ) screen.setText( self.CANCEL_NAME, "Background", self.CANCEL_TEXT, CvUtil.FONT_CENTER_JUSTIFY, self.X_CANCEL, self.Y_CANCEL, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, 1, 0, ) screen.showWindowBackground(False) # Header... screen.setLabel( self.HEADER_NAME, "Background", u"<font=4b>" + localText.getText("TXT_KEY_RELIGION_SCREEN_TITLE", ()).upper() + u"</font>", CvUtil.FONT_CENTER_JUSTIFY, self.X_SCREEN, self.Y_TITLE, self.Z_TEXT, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1, ) # Make the scrollable areas for the city list... if CyGame().isDebugMode(): self.szDropdownName = self.DEBUG_DROPDOWN_ID screen.addDropDownBoxGFC( self.szDropdownName, 22, 12, 300, WidgetTypes.WIDGET_GENERAL, -1, -1, FontTypes.GAME_FONT ) for j in range(gc.getMAX_PLAYERS()): if gc.getPlayer(j).isAlive(): screen.addPullDownString(self.szDropdownName, gc.getPlayer(j).getName(), j, j, False) if AdvisorOpt.isReligious(): self.X_RELIGION_AREA = 45 self.Y_RELIGION_AREA = 84 - 40 self.W_RELIGION_AREA = 934 self.H_RELIGION_AREA = 175 + 75 # screen.addPanel(szArea, "", "", False, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA - 40, self.W_RELIGION_AREA, self.H_RELIGION_AREA + 80, PanelStyles.PANEL_STYLE_MAIN) if AdvisorOpt.isShowAllReligions(): self.RELIGIONS = ReligionUtil.getAllReligions() elif AdvisorOpt.isShowFoundedReligions(): self.RELIGIONS = ReligionUtil.getFoundedReligions() else: self.RELIGIONS = ReligionUtil.getPlayerReligions(gc.getPlayer(self.iActivePlayer)) else: self.X_RELIGION_AREA = 45 self.Y_RELIGION_AREA = 84 self.W_RELIGION_AREA = 934 self.H_RELIGION_AREA = 175 self.RELIGIONS = ReligionUtil.getAllReligions() + (ReligionUtil.getNumReligions(),) # Make the scrollable area for the religions list... screen.addPanel( self.RELIGION_PANEL_ID, "", "", False, True, self.X_RELIGION_AREA, self.Y_RELIGION_AREA, self.W_RELIGION_AREA, self.H_RELIGION_AREA + 5, PanelStyles.PANEL_STYLE_MAIN, ) screen.addScrollPanel( "ReligionList", u"", self.X_RELIGION_AREA, self.Y_RELIGION_AREA, self.W_RELIGION_AREA, self.H_RELIGION_AREA, PanelStyles.PANEL_STYLE_EXTERNAL, ) screen.setActivation("ReligionList", ActivationTypes.ACTIVATE_NORMAL) # Draw Religion info self.drawReligionInfo() self.drawHelpInfo() self.drawCityInfo(self.iReligionSelected)