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(); } }
public PortView(Port port, PortDirections direction, bool isGraphPort) : base() { this.port = port; this.direction = direction; this.isGraphPort = isGraphPort; AddToClassList("unconnected"); }
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; }
public static bool IsOutput(this PortDirections self) { return(self.HasFlag(PortDirections.Output)); }
public PortDirectionAttribute(PortDirections direction = PortDirections.None) { this.direction = direction; }