コード例 #1
0
ファイル: GraphView.cs プロジェクト: tuita520/Sleipnir
        internal void ClickedPort(PortView view)
        {
            var port      = view.port;
            var direction = view.direction;

            if (clickedOnce)
            {
                if (clickedDirection == direction)
                {
                    return;
                }
                if (direction.IsInput())
                {
                    graph.Connect(clickedPort.Item2, port);
                }
                else
                {
                    graph.Connect(port, clickedPort.Item2);
                }
                clickedPort.Item3.ClearConnecting();
                clickedOnce = false;
            }
            else
            {
                clickedDirection = direction;
                clickedPort      = new Tuple <Guid, Port, PortView>(graph.FindNodeWithPort(port).id, port, view);
                clickedOnce      = true;
                view.StartConnecting();
            }
        }
コード例 #2
0
        public PortView(Port port, PortDirections direction, bool isGraphPort) : base()
        {
            this.port        = port;
            this.direction   = direction;
            this.isGraphPort = isGraphPort;

            AddToClassList("unconnected");
        }
コード例 #3
0
        public PortInfo(Type type, FieldInfo field)
        {
            this.name = field.Name;
            var direction = PortDirections.None;

            field.FieldType.WithAttr <PortDirectionAttribute>(a => { direction = a.direction; });
            this.direction = direction;
            this.field     = field;
        }
コード例 #4
0
 public static bool IsOutput(this PortDirections self)
 {
     return(self.HasFlag(PortDirections.Output));
 }
コード例 #5
0
 public PortDirectionAttribute(PortDirections direction = PortDirections.None)
 {
     this.direction = direction;
 }