コード例 #1
0
        public void InsertAt(int index, NodeInput inp, bool assign = false)
        {
            if (inp.Reference != null)
            {
                inp.Reference.Remove(inp);
            }

            if (assign)
            {
                inp.AssignReference(this);
            }
            else
            {
                inp.Reference = this;
            }

            if (index >= To.Count)
            {
                To.Add(inp);
            }
            else
            {
                To.Insert(index, inp);
            }

            OnOutputChanged?.Invoke(this);
        }
コード例 #2
0
        public void Remove(NodeInput inp)
        {
            if (To.Remove(inp))
            {
                inp.Reference = null;

                OnOutputChanged?.Invoke(this);
            }
        }
コード例 #3
0
        public void Add(NodeInput inp, bool assign = false)
        {
            if (inp.Reference != null)
            {
                inp.Reference.Remove(inp);
            }

            if (assign)
            {
                inp.AssignReference(this);
            }
            else
            {
                inp.Reference = this;
                OnOutputChanged?.Invoke(this);
            }

            To.Add(inp);
        }