# Create and place a tech in its proper location
iX = 30 + ( (gc.getTechInfo(i).getGridX() - 1) * ( ( BOX_INCREMENT_X_SPACING + BOX_INCREMENT_WIDTH ) * PIXEL_INCREMENT ) )
iY = ( gc.getTechInfo(i).getGridY() - 1 ) * ( BOX_INCREMENT_Y_SPACING * PIXEL_INCREMENT ) + 5
szTechRecord = "TechRecord" + str(i)
if ( iMaxX < iX + self.getXStart() ):
iMaxX = iX + self.getXStart()
if ( iMaxY < iY + ( BOX_INCREMENT_HEIGHT * PIXEL_INCREMENT ) ):
iMaxY = iY + ( BOX_INCREMENT_HEIGHT * PIXEL_INCREMENT )
screen.attachPanelAt( "TechList", szTechRecord, u"", u"", True, False, PanelStyles.PANEL_STYLE_TECH, iX - 6, iY - 6, self.getXStart() + 6, 12 + ( BOX_INCREMENT_HEIGHT * PIXEL_INCREMENT ), WidgetTypes.WIDGET_TECH_TREE, i, -1 )
screen.setActivation( szTechRecord, ActivationTypes.ACTIVATE_MIMICPARENTFOCUS)
screen.hide( szTechRecord )
if ( gc.getTeam(gc.getPlayer(g_civSelected).getTeam()).isHasTech(i) ):
screen.setPanelColor(szTechRecord, 85, 150, 87)
g_iCurrentState.append(CIV_HAS_TECH)
elif ( gc.getPlayer(g_civSelected).getCurrentResearch() == i ):
screen.setPanelColor(szTechRecord, 104, 158, 165)
g_iCurrentState.append(CIV_IS_RESEARCHING)
elif ( gc.getPlayer(g_civSelected).isResearchingTech(i) ):
screen.setPanelColor(szTechRecord, 104, 158, 165)
g_iCurrentState.append(CIV_IS_RESEARCHING)
elif ( gc.getPlayer(g_civSelected).canEverResearch(i) ):
screen.setPanelColor(szTechRecord, 100, 104, 160)
g_iCurrentState.append(CIV_NO_RESEARCH)
else:
screen.setPanelColor(szTechRecord, 206, 65, 69)
g_iCurrentState.append(CIV_TECH_AVAILABLE)
szTechID = "TechID" + str(i)
szTechString = "<font=1>"
if ( gc.getPlayer(g_civSelected).isResearchingTech(i) ):
szTechString = szTechString + str(gc.getPlayer(g_civSelected).getQueuePosition(i)) + ". "
szTechString += gc.getTechInfo(i).getDescription()
szTechString = szTechString + "</font>"
screen.setTextAt( szTechID, "TechList", szTechString, CvUtil.FONT_LEFT_JUSTIFY, iX + 6 + X_INCREMENT, iY + 6, -0.1, FontTypes.SMALL_FONT, WidgetTypes.WIDGET_TECH_TREE, i, -1 )
screen.setActivation( szTechID, ActivationTypes.ACTIVATE_MIMICPARENTFOCUS )
szTechButtonID = "TechButtonID" + str(i)
screen.addDDSGFCAt( szTechButtonID, "TechList", gc.getTechInfo(i).getButton(), iX + 6, iY + 6, TEXTURE_SIZE, TEXTURE_SIZE, WidgetTypes.WIDGET_TECH_TREE, i, -1, False )
fX = X_START
j = 0
k = 0