Ejemplo n.º 1
0
 public void addRow(PDResRow para_nwRow)
 {
     if(rows == null) { rows = new List<PDResRow>(); }
     rows.Add(para_nwRow);
 }
Ejemplo n.º 2
0
    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.
                PDGameyResultData gameyData = (PDGameyResultData) acResultData.getGameyData();

                int numPackagesLostToMonkies = gameyData.getNumPackagesLostToMonkies();
                int numCorrectDeliveries = gameyData.getNumCorrectDeliveries();
                int numWrongDeliveries = gameyData.getNumWrongDeliveries();
                string timeStr = gameyData.getTimeString();

                string[] elementNames   = {"FieldTitle-0","FieldTitle-1","FieldTitle-2","FieldTitle-3","FieldContent-0","FieldContent-1","FieldContent-2","FieldContent-3"};
                string[] elementContent = {LocalisationMang.translate("Packages stolen"),LocalisationMang.translate("Correct deliveries"),LocalisationMang.translate("Wrong deliveries"),LocalisationMang.translate("Time"),""+numPackagesLostToMonkies,""+numCorrectDeliveries,""+numWrongDeliveries,timeStr};
                bool[] destroyGuideArr = {false,false,false,false,false,false,false,false};
                int[] textElementTypeArr = {0,0,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 PDResTable();

                List<PDResColumn> columnData = new List<PDResColumn>();
                columnData.Add(new PDResColumn());
                columnData.Add(new PDResColumn());
                columnData.Add(new PDResColumn());

                List<ILevelConfig> presentedContent = acResultData.getPresentedContent();
                List<LevelOutcome> outcomeList = acResultData.getOutcomeList();
                for(int i=0; i<presentedContent.Count; i++)
                {
                    PDLevelConfig tmpContent = (PDLevelConfig) presentedContent[i];
                    PDLevelOutcome tmpOutcome = (PDLevelOutcome) outcomeList[i];

                    if(i == 0)
                    {
                        // Add headers.
                        resTable.addHeaderName(LocalisationMang.translate("Item"));
                                               resTable.addHeaderName(LocalisationMang.translate("Knocks"));
                        resTable.addHeaderName("");
                    }

                    for(int j = 0; j<tmpContent.getParcelWord().Length;j++){

                        columnData[0].addCell(new PDResCell(tmpContent.getParcelWord()[j]));
                        columnData[1].addCell(new PDResCell(""+tmpContent.getCorrectNumOfKnocks()[j]));

                        if(tmpOutcome.isPositiveOutcome()){

                            columnData[2].addCell(null);

                        }
                        else if(j<tmpOutcome.getNumCorrectWords())
                        {
                            columnData[2].addCell(null);
                        }
                        else
                        {
                            columnData[2].addCell(new PDResCell(""));
                        }

                    }
                }

                // Convert columns to rows.
                bool canMakeMoreRows = true;
                int dataRowIndex = 0;
                while(canMakeMoreRows)
                {
                    canMakeMoreRows = false;

                    List<PDResCell> nwRowData = new List<PDResCell>();
                    for(int i=0; i<columnData.Count; i++)
                    {
                        List<PDResCell> columnContent = columnData[i].columnContent;
                        if((columnContent != null)&&(dataRowIndex < (columnContent.Count)))
                        {
                            nwRowData.Add(columnContent[dataRowIndex]);
                            canMakeMoreRows = true;
                        }
                        else
                        {
                            nwRowData.Add(null);
                        }
                    }

                    if(canMakeMoreRows)
                    {
                        PDResRow nwRow = new PDResRow(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) / (3 * 1.0f));
                float minimumColumnWidth = (uiBounds["TableScrollArea"].width * 0.30f);
                if(columnEqualGuiWidth <= minimumColumnWidth)
                {
                    columnEqualGuiWidth = minimumColumnWidth;
                }

                pageInitFlags[1] = true;
            }
        }
    }