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); }
public void Enable(MOneTestConfiguration configuration, INprRenderingPostProcessingDirector ppDirector, List <IMRunnerSupport> supports) { this.enabled = true; OneTestConfiguration = configuration; _auxDirector = ppDirector; _runnerSupports = supports; }