public DX11NodeInterfaces(IInternalPluginHost hoster) { this.hoster = hoster; this.renderWindow = this.IsAssignable <IDX11RenderWindow>() ? this.Instance <IDX11RenderWindow>() : null; this.dataRetriever = this.IsAssignable <IDX11ResourceDataRetriever>() ? this.Instance <IDX11ResourceDataRetriever>() : null; this.updateBlocker = this.IsAssignable <IDX11UpdateBlocker>() ? this.Instance <IDX11UpdateBlocker>() : null; this.resourceHost = this.IsAssignable <IDX11ResourceHost>() ? this.Instance <IDX11ResourceHost>() : null; this.rendererHost = this.IsAssignable <IDX11RendererHost>() ? this.Instance <IDX11RendererHost>() : null; this.layerHost = this.IsAssignable <IDX11LayerHost>() ? this.Instance <IDX11LayerHost>() : null; this.renderStartPoint = this.IsAssignable <IDX11RenderStartPoint>() ? this.Instance <IDX11RenderStartPoint>() : null; }
private List <DX11Node> FindRenderStartPoints(DX11RenderContext context) { List <DX11Node> renderers = new List <DX11Node>(); foreach (DX11Node n in this.graph.RenderStartPoints) { IDX11RenderStartPoint window = n.Interfaces.RenderStartPoint; if (window.Enabled && window.RenderContext == context) { renderers.Add(n); } } return(renderers); }