// Setup the results context object
        public override void SetupResultsContext(ResultsContext context, ResultsIOData inputData, ResultsIOData inputDataB)
        {
            CleanupResultsContext();
            FrameComparisonResults inputResults = (FrameComparisonResults)logic.DeserializeResults(inputData); // Deserialize input and cast to typed results

            if (TestRunner.Instance)
            {
                if (!TestRunner.Instance.isAnalytic)
                {
                    comparisonData = (FrameComparisonComparison)logic.ProcessComparison(inputResults); // Get comparison data
                }
                else
                {
                    FrameComparisonResults inputResultsB = (FrameComparisonResults)logic.DeserializeResults(inputDataB); // Deserialize input and cast to typed results
                    comparisonData = (FrameComparisonComparison)logic.ProcessComparison(inputResultsB, inputResults);
                }
            }
            else
            {
                comparisonData = (FrameComparisonComparison)logic.ProcessComparison(inputResults);        // Get comparison data
            }
            buttons = new Button[3];                                                                      // Create button array
            for (int i = 0; i < buttons.Length; i++)                                                      // Iterate
            {
                buttons[i] = context.objects[i].GetComponent <Button>();                                  // Get the button
                int index = i;                                                                            // Set this so delegate doesnt get reference that iterates
                buttons[i].onClick.AddListener(delegate { SetTextureContext(comparisonData, index); });   // Add listener
            }
            resultsContextImage = context.objects[3].GetComponent <RawImage>();                           // Get image
            context.objects[4].GetComponent <Text>().text = comparisonData.DiffPercentage.ToString("N4"); // Set diff to field
            SetTextureContext(comparisonData, 0);                                                         // Set default
        }
Beispiel #2
0
        // Create and expand context object
        IEnumerator ExpandContextObject(ResultsEntry inputEntry, TestDisplayBase display)
        {
            Console.Instance.Write(DebugLevel.Full, MessageLevel.Log, "Expanding context object");                                                                 // Write to console
            int entryIndex = FindEntryInDetailedResultsList(inputEntry);                                                                                           // Get index of selected entry

            activeContextEntry  = inputEntry;                                                                                                                      // Track selected entry
            activeContextObject = Instantiate(display.resultsContextPrefab, listContentRect, false);                                                               // Create context object instance
            RectTransform contextObjectRect = activeContextObject.GetComponent <RectTransform>();                                                                  // Get rect

            contextObjectRect.anchoredPosition = new Vector2(0, (entryIndex + 1) * -listEntries[0].GetComponent <RectTransform>().sizeDelta.y);                    // Set position
            listContentRect.sizeDelta          = new Vector2(listContentRect.sizeDelta.x, listContentRect.sizeDelta.y + contextObjectRect.sizeDelta.y);            // Set size
            NudgeDetailedResultsListEntries(entryIndex, -contextObjectRect.sizeDelta.y);                                                                           // Nudge entries
            ResultsContext resultsContext = activeContextObject.GetComponent <ResultsContext>();                                                                   // Get results context reference

            resultsContext.Setup(activeContextEntry);                                                                                                              // Setup base of results context
            ResultsIOData resultsDataFull = new ResultsIOData();                                                                                                   // Create output data

            yield return(StartCoroutine(ResultsIO.Instance.FetchSpecificEntry(inputEntry.resultsEntryData.resultsData, (value => { resultsDataFull = value; })))); // Get full results data // SQLCHECK

            ResultsIOData resultsDataFullB = new ResultsIOData();                                                                                                  // Create output data

            if (TestRunner.Instance)
            {
                if (TestRunner.Instance.runnerType == RunnerType.Analytic)
                {
                    yield return(StartCoroutine(SQL.SQLIO.FetchBaseline(inputEntry.resultsEntryData.resultsDataB, (value => { resultsDataFullB = value; })))); // Get full results data // SQLCHECK
                }
                else if (TestRunner.Instance.runnerType == RunnerType.AnalyticComparison)
                {
                    yield return(StartCoroutine(ResultsIO.Instance.FetchSpecificEntry(inputEntry.resultsEntryData.resultsDataB, (value => { resultsDataFullB = value; })))); // Get full results data // SQLCHECK
                }
            }
            //if(inputEntry.resultsEntryData.resultsDataB != null)
            display.SetupResultsContext(resultsContext, resultsDataFull, resultsDataFullB); // Tell Display how to setup the results context
        }
        // ------------------------------------------------------------------------------------
        // ResultsViewer

        // ------------------------------------------------------------------------------------
        // This sections controls customizing the ResultsViewers context object for this test type
        //
        // Mandatory overrides:
        // - SetupResultsContext
        // This method lets you specify the content of the results viewer context object
        // Input is an array of game object references
        // Context object contents are unique to the test type
        //
        // These method calls are already wrapped in debugs and as such do not require debugs inside them
        // However, should you want to add further debugs please use Console.Write()

        // Setup the results context object
        public override void SetupResultsContext(ResultsContext context, ResultsIOData inputData)
        {
            ExampleResults inputResults = (ExampleResults)logic.DeserializeResults(inputData);                               // Deserialize input and cast to typed results

            ExampleLogic.ComparisonData comparisonData = (ExampleLogic.ComparisonData)logic.GetComparisonData(inputResults); // Get comparison data
            context.objects[0].GetComponent <Text>().text = inputResults.SomeFloat.ToString();                               // Set float
            context.objects[1].GetComponent <Text>().text = comparisonData.SomeFloatDiff.ToString();                         // Set diff
        }
Beispiel #4
0
        // ------------------------------------------------------------------------------------
        // ResultsViewer

        // Setup the results context object
        public override void SetupResultsContext(ResultsContext context, ResultsIOData inputData)
        {
            AverageFrameTimeResults inputResults = (AverageFrameTimeResults)logic.DeserializeResults(inputData);                               // Deserialize input and cast to typed results

            AverageFrameTimeLogic.ComparisonData comparisonData = (AverageFrameTimeLogic.ComparisonData)logic.GetComparisonData(inputResults); // Get comparison data
            context.objects[0].GetComponent <Text>().text = inputResults.avgFrameTime.ToString();                                              // Set average frame time
            context.objects[1].GetComponent <Text>().text = comparisonData.delta.ToString();                                                   // Set delta
        }
Beispiel #5
0
        // Create and expand context object
        void ExpandContextObject(ResultsEntry inputEntry, TestDisplayBase display)
        {
            Console.Instance.Write(DebugLevel.Full, MessageLevel.Log, "Expanding context object");                                                      // Write to console
            int entryIndex = FindEntryInDetailedResultsList(inputEntry);                                                                                // Get index of selected entry

            activeContextEntry  = inputEntry;                                                                                                           // Track selected entry
            activeContextObject = Instantiate(display.resultsContextPrefab, listContentRect, false);                                                    // Create context object instance
            RectTransform contextObjectRect = activeContextObject.GetComponent <RectTransform>();                                                       // Get rect

            contextObjectRect.anchoredPosition = new Vector2(0, (entryIndex + 1) * -listEntries[0].GetComponent <RectTransform>().sizeDelta.y);         // Set position
            listContentRect.sizeDelta          = new Vector2(listContentRect.sizeDelta.x, listContentRect.sizeDelta.y + contextObjectRect.sizeDelta.y); // Set size
            NudgeDetailedResultsListEntries(entryIndex, -contextObjectRect.sizeDelta.y);                                                                // Nudge entries
            ResultsContext resultsContext = activeContextObject.GetComponent <ResultsContext>();                                                        // Get results context reference

            resultsContext.Setup(activeContextEntry);                                                                                                   // Setup base of results context
            display.SetupResultsContext(resultsContext, inputEntry.resultsEntryData.resultsData);                                                       // Tell Display how to setup the results context
        }
Beispiel #6
0
        // Setup the results context object
        public override void SetupResultsContext(ResultsContext context, ResultsIOData inputData, ResultsIOData inputDataB)
        {
            AverageFrameTimeResults inputResults = (AverageFrameTimeResults)logic.DeserializeResults(inputData); // Deserialize input and cast to typed results

            if (TestRunner.Instance)
            {
                if (!TestRunner.Instance.isAnalytic)
                {
                    comparisonData = (AverageFrameTimeComparison)logic.ProcessComparison(inputResults); // Get comparison data
                }
                else
                {
                    AverageFrameTimeResults inputResultsB = (AverageFrameTimeResults)logic.DeserializeResults(inputDataB); // Deserialize input and cast to typed results
                    comparisonData = (AverageFrameTimeComparison)logic.ProcessComparison(inputResultsB, inputResults);
                }
            }
            else
            {
                comparisonData = (AverageFrameTimeComparison)logic.ProcessComparison(inputResults); // Get comparison data
            }

            context.objects[0].GetComponent <Text>().text = inputResults.avgFrameTime.ToString("N4"); // Set average frame time
            context.objects[1].GetComponent <Text>().text = comparisonData.delta.ToString("N4");      // Set delta
        }
Beispiel #7
0
        // Setup the results context object
        public override void SetupResultsContext(ResultsContext context, ResultsIOData inputData, ResultsIOData inputDataB)
        {
            ExampleResults inputResults = (ExampleResults)logic.DeserializeResults(inputData); // Deserialize input and cast to typed results

            if (TestRunner.Instance)
            {
                if (!TestRunner.Instance.isAnalytic)
                {
                    comparisonData = (ExampleComparison)logic.ProcessComparison(inputResults); // Get comparison data
                }
                else
                {
                    ExampleResults inputResultsB = (ExampleResults)logic.DeserializeResults(inputDataB); // Deserialize input and cast to typed results
                    comparisonData = (ExampleComparison)logic.ProcessComparison(inputResultsB, inputResults);
                }
            }
            else
            {
                comparisonData = (ExampleComparison)logic.ProcessComparison(inputResults); // Get comparison data
            }

            context.objects[0].GetComponent <Text>().text = inputResults.SomeFloat.ToString();       // Set float
            context.objects[1].GetComponent <Text>().text = comparisonData.SomeFloatDiff.ToString(); // Set diff
        }
Beispiel #8
0
 // Setup the results context entry
 public abstract void SetupResultsContext(ResultsContext contextObject, ResultsIOData inputData, ResultsIOData inputDataB);