private static T FindComponent <T>(CapturedBatch batch, out int componentId) { var componentFrame = batch.ReferenceFrames.Single( frame => frame.FrameType == RenderTreeFrameType.Component && frame.Component is T); componentId = componentFrame.ComponentId; return((T)componentFrame.Component); }
protected internal override void UpdateDisplay(RenderBatch renderBatch) { var capturedBatch = new CapturedBatch(); Batches.Add(capturedBatch); for (var i = 0; i < renderBatch.UpdatedComponents.Count; i++) { ref var renderTreeDiff = ref renderBatch.UpdatedComponents.Array[i]; capturedBatch.AddDiff(renderTreeDiff); }