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();
        }
Esempio n. 3
0
 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())}";