def updateGameDataStrings( self ):
screen = CyGInterfaceScreen( "MainInterface", CvScreenEnums.MAIN_INTERFACE )
screen.hide( "ResearchText" )
screen.hide( "GoldText" )
screen.hide( "ManaText" )
screen.hide( "FaithText" )
screen.hide( "TimeText" )
screen.hide( "ResearchBar" )
bShift = CyInterface().shiftKey()
xResolution = screen.getXResolution()
yResolution = screen.getYResolution()
pHeadSelectedCity = CyInterface().getHeadSelectedCity()
if (pHeadSelectedCity):
ePlayer = pHeadSelectedCity.getOwner()
else:
ePlayer = gc.getGame().getActivePlayer()
if ( ePlayer < 0 or ePlayer >= gc.getMAX_PLAYERS() ):
return 0
for iI in range(CommerceTypes.NUM_COMMERCE_TYPES):
szString = "PercentText" + str(iI)
screen.hide(szString)
szString = "RateText" + str(iI)
screen.hide(szString)
if ( CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_HIDE_ALL and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_MINIMAP_ONLY and CyInterface().getShowInterface() != InterfaceVisibility.INTERFACE_ADVANCED_START):
# Percent of commerce
if (gc.getPlayer(ePlayer).isAlive()):
iCount = 0
for iI in range( CommerceTypes.NUM_COMMERCE_TYPES ):
eCommerce = (iI + 1) % CommerceTypes.NUM_COMMERCE_TYPES
if (gc.getPlayer(ePlayer).isCommerceFlexible(eCommerce) or (CyInterface().isCityScreenUp() and (eCommerce == CommerceTypes.COMMERCE_GOLD))):
iShift = 60
if (CyInterface().isCityScreenUp()):
iShift = 0
szOutText = u"<font=2>%c:%d%%</font>" %(gc.getCommerceInfo(eCommerce).getChar(), gc.getPlayer(ePlayer).getCommercePercent(eCommerce))
szString = "PercentText" + str(iI)
screen.setLabel( szString, "Background", szOutText, CvUtil.FONT_LEFT_JUSTIFY, 14 + iShift, 50 + (iCount * 19), -0.1, FontTypes.SMALL_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1 )
screen.show( szString )
if not CyInterface().isCityScreenUp():
szOutText = u"<font=2>" + localText.getText("TXT_KEY_MISC_POS_GOLD_PER_TURN", (gc.getPlayer(ePlayer).getCommerceRate(CommerceTypes(eCommerce)), )) + u"</font>"
szString = "RateText" + str(iI)
screen.setLabel( szString, "Background", szOutText, CvUtil.FONT_LEFT_JUSTIFY, 112 + iShift, 50 + (iCount * 19), -0.1, FontTypes.SMALL_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1 )
screen.show( szString )
iCount = iCount + 1;
self.updateTimeText()
screen.setLabel( "TimeText", "Background", g_szTimeText, CvUtil.FONT_RIGHT_JUSTIFY, xResolution - 56, 6, -0.3, FontTypes.GAME_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1 )
screen.show( "TimeText" )
if (gc.getPlayer(ePlayer).isAlive()):
szText1 = CyGameTextMgr().getGoldStr(ePlayer)
szText2 = CyGameTextMgr().getManaStr(ePlayer)
szText3 = CyGameTextMgr().getFaithStr(ePlayer)
#FfH: Added by Kael 12/08/2007
if (gc.getPlayer(ePlayer).getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_KHAZAD') and gc.getPlayer(ePlayer).getNumCities() > 0):
iGold = gc.getPlayer(ePlayer).getGold() / gc.getPlayer(ePlayer).getNumCities()
if iGold <= 49:
szText = szText + " " + localText.getText("TXT_KEY_MISC_DWARVEN_VAULT_EMPTY", ())
if (iGold >= 50 and iGold <= 99):
szText = szText + " " + localText.getText("TXT_KEY_MISC_DWARVEN_VAULT_LOW", ())
if (iGold >= 150 and iGold <= 199):
szText = szText + " " + localText.getText("TXT_KEY_MISC_DWARVEN_VAULT_STOCKED", ())
if (iGold >= 200 and iGold <= 299):
szText = szText + " " + localText.getText("TXT_KEY_MISC_DWARVEN_VAULT_ABUNDANT", ())
if (iGold >= 300 and iGold <= 499):
szText = szText + " " + localText.getText("TXT_KEY_MISC_DWARVEN_VAULT_FULL", ())
if iGold >= 500:
szText = szText + " " + localText.getText("TXT_KEY_MISC_DWARVEN_VAULT_OVERFLOWING", ())
#FfH: End Add
iShift = 60
if (CyInterface().isCityScreenUp()):
iShift = 0
screen.setLabel( "GoldText", "Background", szText, CvUtil.FONT_LEFT_JUSTIFY, 12 + iShift, 6, -0.3, FontTypes.GAME_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1 )
screen.show( "GoldText" )
if not CyInterface().isCityScreenUp():
screen.setLabel( "ManaText", "Background", szText1, CvUtil.FONT_LEFT_JUSTIFY, 12 + iShift+iTier1, 30, -0.3, FontTypes.GAME_FONT, WidgetTypes.WIDGET_HELP_MANA, -1, -1 )
screen.show( "ManaText" )
screen.setLabel( "FaithText", "Background", szText2, CvUtil.FONT_LEFT_JUSTIFY, 12 + iShift+iTier3, 30, -0.3, FontTypes.GAME_FONT, WidgetTypes.WIDGET_HELP_FAITH, -1, -1 )
screen.show( "FaithText" )
if (((gc.getPlayer(ePlayer).calculateGoldRate() != 0) and not (gc.getPlayer(ePlayer).isAnarchy())) or (gc.getPlayer(ePlayer).getGold() != 0)):
screen.show( "GoldText" )
if (gc.getPlayer(ePlayer).isAnarchy()):
szText = localText.getText("INTERFACE_ANARCHY", (gc.getPlayer(ePlayer).getAnarchyTurns(), ))
screen.setText( "ResearchText", "Background", szText, CvUtil.FONT_CENTER_JUSTIFY, screen.centerX(512), 3, -0.4, FontTypes.GAME_FONT, WidgetTypes.WIDGET_RESEARCH, -1, -1 )
if ( gc.getPlayer(ePlayer).getCurrentResearch() != -1 ):
screen.show( "ResearchText" )
else:
screen.hide( "ResearchText" )
elif (gc.getPlayer(ePlayer).getCurrentResearch() != -1):
szText = CyGameTextMgr().getResearchStr(ePlayer)
screen.setText( "ResearchText", "Background", szText, CvUtil.FONT_CENTER_JUSTIFY, screen.centerX(512), 3, -0.4, FontTypes.GAME_FONT, WidgetTypes.WIDGET_RESEARCH, -1, -1 )
screen.show( "ResearchText" )
researchProgress = gc.getTeam(gc.getPlayer(ePlayer).getTeam()).getResearchProgress(gc.getPlayer(ePlayer).getCurrentResearch())
overflowResearch = (gc.getPlayer(ePlayer).getOverflowResearch() * gc.getPlayer(ePlayer).calculateResearchModifier(gc.getPlayer(ePlayer).getCurrentResearch()))/100
researchCost = gc.getTeam(gc.getPlayer(ePlayer).getTeam()).getResearchCost(gc.getPlayer(ePlayer).getCurrentResearch())
researchRate = gc.getPlayer(ePlayer).calculateResearchRate(-1)
iFirst = float(researchProgress + overflowResearch) / float(researchCost)
screen.setBarPercentage( "ResearchBar", InfoBarTypes.INFOBAR_STORED, iFirst )
if ( iFirst == 1 ):
screen.setBarPercentage( "ResearchBar", InfoBarTypes.INFOBAR_RATE, ( float(researchRate) / float(researchCost) ) )
else:
screen.setBarPercentage( "ResearchBar", InfoBarTypes.INFOBAR_RATE, ( ( float(researchRate) / float(researchCost) ) ) / ( 1 - iFirst ) )
screen.show( "ResearchBar" )
return 0