private void AddSharedRendererViewModel(ISharedRenderer sharedRenderer) { var viewModel = new SharedRendererBlockViewModel(this, sharedRenderer); viewModel.Initialize(); viewModel.UpdateSlots(); Blocks.Add(viewModel); }
private void RemoveSharedRendererViewModel(ISharedRenderer sharedRenderer) { // Clear references to this object Asset.PropertyGraph.ClearReferencesToObjects(sharedRenderer.Id.Yield()); var block = GetBlock(sharedRenderer); Blocks.Remove(block); block.Destroy(); }
public SharedRendererBlockViewModel([NotNull] GraphicsCompositorEditorViewModel editor, ISharedRenderer sharedRenderer) : base(editor) { this.sharedRenderer = sharedRenderer; sharedRendererNode = editor.Session.AssetNodeContainer.GetOrCreateNode(sharedRenderer); InputSlots.Add(new SharedRendererInputSlotViewModel(this)); }
private static string GetSharedRendererDisplayName(ISharedRenderer sharedRenderer) => $"Shared: {DisplayAttribute.GetDisplayName(sharedRenderer.GetType())}";