コード例 #1
0
 public override FlowNode.Pin[] GetDynamicPins()
 {
     FlowNode.Pin[] pinArray = new FlowNode.Pin[this.Versions.Length];
     for (int index = 0; index < this.Versions.Length; ++index)
     {
         pinArray[index] = new FlowNode.Pin(2 + index, this.Versions[index], FlowNode.PinTypes.Output, 2 + index);
     }
     return(pinArray);
 }
コード例 #2
0
 public override FlowNode.Pin[] GetDynamicPins()
 {
     FlowNode.Pin[] pinArray = new FlowNode.Pin[this.mPins.Length];
     for (int index = 0; index < this.mPins.Length; ++index)
     {
         pinArray[index] = new FlowNode.Pin(this.mPins[index].PinID, this.mPins[index].PinName, this.mPins[index].PinType, 1000 + index);
     }
     return(pinArray);
 }
コード例 #3
0
    public void LinkPin(FlowNode.Pin srcPin, FlowNode dest, FlowNode.Pin destPin)
    {
        if (srcPin.PinType == destPin.PinType)
        {
            return;
        }
        FlowNode flowNode1;
        FlowNode flowNode2;

        if (srcPin.PinType == FlowNode.PinTypes.Output)
        {
            flowNode1 = this;
            flowNode2 = dest;
        }
        else
        {
            flowNode1 = dest;
            flowNode2 = this;
            FlowNode.Pin pin = srcPin;
            srcPin  = destPin;
            destPin = pin;
        }
        for (int index = 0; index < this.OutputLinks.Length; ++index)
        {
            if (flowNode1.OutputLinks[index].SrcPinID == srcPin.PinID && Object.op_Equality((Object)flowNode1.OutputLinks[index].Dest, (Object)flowNode2) && flowNode1.OutputLinks[index].DestPinID == destPin.PinID)
            {
                return;
            }
        }
        Array.Resize <FlowNode.Link>(ref flowNode1.OutputLinks, flowNode1.OutputLinks.Length + 1);
        flowNode1.OutputLinks[flowNode1.OutputLinks.Length - 1] = new FlowNode.Link()
        {
            SrcPinID  = srcPin.PinID,
            Dest      = flowNode2,
            DestPinID = destPin.PinID
        };
    }