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); }
public void Start() { var cameraObject = gameObject; RemoveAdditionalComponentsFromHatchedObject(); HatchedObject.GetComponent <MeshFilter>().mesh = Configuration.MeshToUse.MeshToUse; HatchedObject.transform.localScale = Configuration.MeshToUse.Scale; var configurer = FindObjectOfType <HatchGeneratingEnviromentConfigurerOC>(); var ppDirector = configurer.ConfigureEnviroment(Configuration.GeneratingMode, cameraObject, HatchedObject); HatchedObject.GetComponents <IOneTestConfigurationConsumer>() .ToList() .ForEach(c => c.ConsumeConfiguration(Configuration)); ppDirector?.SetAutonomicRendering(false); _runner = StartRunner <MTestingRunnerGO>(ppDirector); }