コード例 #1
0
        private void InputSlotsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
            {
                foreach (IGraphicsCompositorSlotViewModel newSlot in e.NewItems)
                {
                    AddInputSlot(newSlot);
                }
                break;
            }

            case NotifyCollectionChangedAction.Remove:
            {
                foreach (IGraphicsCompositorSlotViewModel oldSlot in e.OldItems)
                {
                    RemoveInputSlot(oldSlot);
                }
                break;
            }

            case NotifyCollectionChangedAction.Reset:
            {
                InputSlots.Clear();
                break;
            }

            default:
                throw new NotSupportedException();
            }
        }
コード例 #2
0
        public void AddInput(int slot, string inputVariable)
        {
            if (!Inputs.Contains(inputVariable))
            {
                Inputs.Add(inputVariable);

                if (!InputSlots.ContainsKey(slot))
                {
                    InputSlots.Add(slot, 1);
                }
                else
                {
                    InputSlots[slot]++;
                }
            }
        }
コード例 #3
0
ファイル: DesignHeader.cs プロジェクト: visiboole/Visiboole
        /// <summary>
        /// Attempts to add the provided input variable to the provided slot.
        /// </summary>
        /// <param name="slot"></param>
        /// <param name="inputVariable"></param>
        /// <returns>Whether the variable was added or not.</returns>
        public bool AddInput(int slot, string inputVariable)
        {
            if (!Inputs.Contains(inputVariable))
            {
                Inputs.Add(inputVariable);

                if (!InputSlots.ContainsKey(slot))
                {
                    InputSlots.Add(slot, 1);
                }
                else
                {
                    InputSlots[slot]++;
                }
            }

            return(true);
        }
コード例 #4
0
 public SharedRendererBlockViewModel([NotNull] GraphicsCompositorEditorViewModel editor, ISharedRenderer sharedRenderer) : base(editor)
 {
     this.sharedRenderer = sharedRenderer;
     sharedRendererNode  = editor.Session.AssetNodeContainer.GetOrCreateNode(sharedRenderer);
     InputSlots.Add(new SharedRendererInputSlotViewModel(this));
 }
コード例 #5
0
 private void RemoveInputSlot(IGraphicsCompositorSlotViewModel slot)
 {
     InputSlots.Remove(slot);
 }
コード例 #6
0
 private void AddInputSlot(IGraphicsCompositorSlotViewModel slot)
 {
     InputSlots.Add(slot);
 }