Пример #1
0
            public static void Link(LinkedButton A, LinkedButton B, Control Parent)
            {
                if (A.Owner == B.Owner)
                {
                    return;
                }

                if ((A.IsInput && A.IsLinked()) || (B.IsInput && B.IsLinked()))
                {
                    throw new InvalidOperationException("Tried to double-link an input value.");
                }

                if (A.IsInput)
                {
                    if (!A.ValueType.IsAssignableFrom(B.ValueType))
                    {
                        throw new InvalidOperationException("Tried to link unlike variable types.");
                    }
                    Parent.Controls.Add(A.InboundConnection = new LinkLine(B, A, Parent));
                }
                else
                {
                    if (!B.ValueType.IsAssignableFrom(A.ValueType))
                    {
                        throw new InvalidOperationException("Tried to link unlike variable types.");
                    }
                    Parent.Controls.Add(B.InboundConnection = new LinkLine(A, B, Parent));
                }

                A.LinkedBtns.Add(B);
                B.LinkedBtns.Add(A);
            }
Пример #2
0
            public static void Link(LinkedButton A, LinkedButton B, Control Parent)
            {
                if (A.Owner == B.Owner)
                    return;

                if ((A.IsInput && A.IsLinked()) || (B.IsInput && B.IsLinked()))
                    throw new InvalidOperationException("Tried to double-link an input value.");

                if (A.IsInput)
                {
                    if(!A.ValueType.IsAssignableFrom(B.ValueType))
                        throw new InvalidOperationException("Tried to link unlike variable types.");
                    Parent.Controls.Add(A.InboundConnection = new LinkLine(B, A, Parent));
                }
                else
                {
                    if (!B.ValueType.IsAssignableFrom(A.ValueType))
                        throw new InvalidOperationException("Tried to link unlike variable types.");
                    Parent.Controls.Add(B.InboundConnection = new LinkLine(A, B, Parent));
                }

                A.LinkedBtns.Add(B);
                B.LinkedBtns.Add(A);
            }