Esempio n. 1
0
        public INprRenderingPostProcessingDirector ConfigureEnviroment(HatchGeneratingMode mode, GameObject cameraObject, GameObject hatchedObject)
        {
            Preconditions.Assert(PerModeConfigurations.Any(c => c.Mode == mode), "There is no configuration for mode " + mode);
            var conf = PerModeConfigurations.First(c => c.Mode == mode);

            hatchedObject.GetComponent <MeshRenderer>().material = conf.ObjectMaterial;
            if (conf.SourceGameObject != null)
            {
                foreach (var sourceComponent in conf.SourceGameObject.GetComponents <MonoBehaviour>())
                {
                    var newComponent = hatchedObject.AddComponent(sourceComponent.GetType());
                    ComponentUtils.CopyClassValues(sourceComponent, newComponent);
                }
            }


            INprRenderingPostProcessingDirector ppDirector = null;

            if (conf.SourceCameraObject != null)
            {
                foreach (var sourceComponent in conf.SourceCameraObject.GetComponents <MonoBehaviour>())
                {
                    var newComponent = cameraObject.AddComponent(sourceComponent.GetType());
                    ComponentUtils.CopyClassValues(sourceComponent, newComponent);
                    if (newComponent is INprRenderingPostProcessingDirector)
                    {
                        ppDirector = (INprRenderingPostProcessingDirector)newComponent;
                    }
                }
            }

            return(ppDirector);
        }
        private IMRunner StartRunner <T>(INprRenderingPostProcessingDirector ppDirector) where T : IMRunner
        {
            IMRunner runner = GetComponent <T>();

            var runnerSupports = new List <IMRunnerSupport>();

            if (Configuration.UseImageTestingRunnerSupport)
            {
                runnerSupports.Add(GetComponent <MImageTestingRunnerSupportOC>());
            }
            if (Configuration.UseMeasurementRunnerSupport)
            {
                runnerSupports.Add(GetComponent <MMeasurementRunnerSupportOC>());
            }
            if (Configuration.UsePerformanceEvaluatorRunnerSupportOC)
            {
                runnerSupports.Add(GetComponent <MPerformanceEvaluatorRunnerSupportOC>());
            }

            if (Configuration.UseScreenshotTakingRunnerSupport)
            {
                var mScreenshotTakingRunnerSupportOc = GetComponent <MScreenshotTakingRunnerSupportOC>();
                mScreenshotTakingRunnerSupportOc.TakeScreenshotEveryNthFrame = Configuration.TakeScreenshotEveryNthFrame;
                runnerSupports.Add(mScreenshotTakingRunnerSupportOc);
            }

            runner.Enable(Configuration, ppDirector, runnerSupports);
            return(runner);
        }
Esempio n. 3
0
 public void Enable(MOneTestConfiguration configuration, INprRenderingPostProcessingDirector ppDirector, List <IMRunnerSupport> supports)
 {
     this.enabled         = true;
     OneTestConfiguration = configuration;
     _auxDirector         = ppDirector;
     _runnerSupports      = supports;
 }