Example #1
0
        public override void LinkTo(CGModuleSlot outputSlot)
        {
            if (!HasLinkTo(outputSlot))
            {
                Module.InputLinks.Add(new CGModuleLink(this, outputSlot));
                outputSlot.Module.OutputLinks.Add(new CGModuleLink(outputSlot, this));
                if (!LinkedSlots.Contains(outputSlot))
                {
                    LinkedSlots.Add(outputSlot);
                }

                if (!outputSlot.LinkedSlots.Contains(this))
                {
                    outputSlot.LinkedSlots.Add(this);
                }

                base.LinkTo(outputSlot);
            }
        }
Example #2
0
        public override void LinkTo(CGModuleSlot inputSlot)
        {
            if (!HasLinkTo(inputSlot))
            {
                if (!inputSlot.Info.Array && inputSlot.IsLinked)
                {
                    inputSlot.UnlinkAll();
                }
                Module.OutputLinks.Add(new CGModuleLink(this, inputSlot));
                inputSlot.Module.InputLinks.Add(new CGModuleLink(inputSlot, this));
                if (!LinkedSlots.Contains(inputSlot))
                {
                    LinkedSlots.Add(inputSlot);
                }
                if (!inputSlot.LinkedSlots.Contains(this))
                {
                    inputSlot.LinkedSlots.Add(this);
                }

                base.LinkTo(inputSlot);
            }
        }