/// <summary> /// Creates the given sample. /// </summary> /// <param name="sampleInfo">The sample information.</param> public SampleBase CreateSample(SampleDescription sampleInfo) { sampleInfo.EnsureNotNull(nameof(sampleInfo)); var actSample = m_sampleTypes.First((actTuple) => actTuple.Item1 == sampleInfo); return(Activator.CreateInstance(actSample.Item2) as SampleBase); }
/// <summary> /// Applies the given sample to the given RenderLoop. /// </summary> /// <param name="renderLoop">The render loop.</param> /// <param name="sampleDesc">The sample to be applied.</param> public SampleBase ApplySample(RenderLoop renderLoop, SampleDescription sampleDesc) { renderLoop.EnsureNotNull(nameof(renderLoop)); sampleDesc.EnsureNotNull(nameof(sampleDesc)); SampleBase sample = Activator.CreateInstance(sampleDesc.SampleClass) as SampleBase; sample.OnStartupAsync(renderLoop); return(sample); }