public void InitializePipeline(ISyncModelProvider provider) { if (pipelineAsset == null) { Debug.LogError("Unable start pipeline. Please assign a Pipeline Asset."); return; } beforeInitialize?.Invoke(); if (m_Reflect == null) { m_Reflect = FindObjectOfType <RuntimeReflectBootstrapper>(); } if (m_Reflect == null) { m_Reflect = gameObject.AddComponent <RuntimeReflectBootstrapper>(); } m_PipelineRunner = new PipelineRunner(m_Reflect.Hook); m_PipelineRunner.onException += onException; m_PipelineRunner.CreateProcessors(this, provider); m_PipelineRunner.Initialize(); afterInitialize?.Invoke(); }
protected IPipeline CreatePipeline(params Type[] contributorTypes) { var resolver = new InternalDependencyResolver(); resolver.AddDependency <IPipelineContributor, BootstrapperContributor>(); foreach (var type in contributorTypes) { resolver.AddDependency(typeof(IPipelineContributor), type, DependencyLifetime.Singleton); } var runner = new PipelineRunner(resolver) { PipelineLog = new TraceSourceLogger <PipelineLogSource>() }; runner.Initialize(); return(runner); }