public void addRow(HarvestResRow para_nwRow) { if(rows == null) { rows = new List<HarvestResRow>(); } rows.Add(para_nwRow); }
public override void buildPage(int para_pageID, GameObject para_pageParent) { if(pageInitFlags == null) { pageInitFlags = new bool[]{false,false}; } if(para_pageID == 0) { string reqPageObjName = "ResultScreens_A"; Transform reqResultScreenPage = transform.FindChild(reqPageObjName); Transform subPageTemplate = reqResultScreenPage.FindChild("Pages").FindChild("Ac"+acPKey); subPageTemplate.gameObject.SetActive(true); if(pageInitFlags[0] == false) { // Load necessary items. string fullPathToTemplate = reqPageObjName + "*" + "Pages" + "*" + ("Ac"+acPKey); // Init Items. HarvestGameyResultData gameyData = (HarvestGameyResultData) acResultData.getGameyData(); int numCorrectHarvests = gameyData.getNumCorrectHarvests(); int numMachinesBroken = gameyData.getNumMachinesBroken(); string timeStr = gameyData.getTimeString(); string[] elementNames = {"FieldTitle-0","FieldTitle-1","FieldTitle-2","FieldContent-0","FieldContent-1","FieldContent-2"}; string[] elementContent = {LocalisationMang.translate("Correct harvests"),LocalisationMang.translate("Broken machines"),LocalisationMang.translate("Time"),""+numCorrectHarvests,""+numMachinesBroken,timeStr}; bool[] destroyGuideArr = {false,false,false,false,false,false}; int[] textElementTypeArr = {0,0,0,0,0,0}; prepTextElements(elementNames,elementContent,destroyGuideArr,textElementTypeArr,fullPathToTemplate); pageInitFlags[0] = true; } } else if(para_pageID == 1) { string reqPageObjName = "ResultScreens_B"; Transform reqResultScreenPage = transform.FindChild(reqPageObjName); Transform subPageTemplate = reqResultScreenPage.FindChild("Pages").FindChild("Ac"+acPKey); subPageTemplate.gameObject.SetActive(true); if(pageInitFlags[1] == false) { // Load necessary items. string fullPathToTemplate = reqPageObjName + "*" + "Pages" + "*" + ("Ac"+acPKey); // Init Items. resTable = new HarvestResTable(); List<HarvestResColumn> columnData = new List<HarvestResColumn>(); List<ILevelConfig> presentedContent = acResultData.getPresentedContent(); List<LevelOutcome> outcomeList = acResultData.getOutcomeList(); Debug.Log(presentedContent.Count); Debug.Log(outcomeList.Count); for(int i=0; i<presentedContent.Count; i++) { HarvestLevelConfig tmpContent = (HarvestLevelConfig) presentedContent[i]; HarvestLevelOutcome tmpOutcome = (HarvestLevelOutcome) outcomeList[i]; if(i == 0) { // Add headers. for(int k=0; k<tmpContent.machineDescriptions.Length; k++) { resTable.addHeaderName(tmpContent.machineDescriptions[k]); columnData.Add(new HarvestResColumn()); } } // Add column data. int[] levelCorrectMachines = tmpContent.correctMachines; for(int k=0; k<levelCorrectMachines.Length; k++) { bool playerGotThisCorrect = false; int tmpCorrectMachineIndex = levelCorrectMachines[k]; if(tmpOutcome.isPositiveOutcome()) { playerGotThisCorrect = true; } else { if(tmpOutcome.getMachinesGivenGoodInput().Contains(tmpCorrectMachineIndex)) { playerGotThisCorrect = true; } } columnData[tmpCorrectMachineIndex].addCell(new HarvestResCell(i,tmpContent.harvestingWord,playerGotThisCorrect)); } } // Convert columns to rows. bool canMakeMoreRows = true; int dataRowIndex = 0; while(canMakeMoreRows) { canMakeMoreRows = false; List<HarvestResCell> nwRowData = new List<HarvestResCell>(); for(int i=0; i<columnData.Count; i++) { List<HarvestResCell> columnContent = columnData[i].columnContent; if((columnContent != null)&&(dataRowIndex < (columnContent.Count))) { nwRowData.Add(columnContent[dataRowIndex]); canMakeMoreRows = true; } else { nwRowData.Add(null); } } if(canMakeMoreRows) { HarvestResRow nwRow = new HarvestResRow(nwRowData); resTable.addRow(nwRow); } dataRowIndex++; } string[] elementNames = {"TableScrollArea"}; string[] elementContent = {"Table Scroll Area"}; bool[] destroyGuideArr = {true}; int[] textElementTypeArr = {0}; prepTextElements(elementNames,elementContent,destroyGuideArr,textElementTypeArr,fullPathToTemplate); columnEqualGuiWidth = ((uiBounds["TableScrollArea"].width * 0.9f) / (columnData.Count * 1.0f)); float minimumColumnWidth = (uiBounds["TableScrollArea"].width * 0.25f); if(columnEqualGuiWidth <= minimumColumnWidth) { columnEqualGuiWidth = minimumColumnWidth; } pageInitFlags[1] = true; } } }