コード例 #1
0
        public void OnUnLinked(Graph graph, AbstractSocket s01, AbstractSocket s02)
        {
            Log.Info("OnUnLinked: Socket " + s02 + " and Socket " + s02);
            var input = s01.IsInput() ? s01 : s02;

            graph.UpdateDependingNodes(input.Parent);
        }
コード例 #2
0
        public void UnLink(AbstractSocket socket)
        {
            if (socket == null || !socket.IsConnected())
            {
                return;
            }


            if (socket.IsInput())
            {
                InputSocket inputSocket = (InputSocket)socket;
                if (inputSocket.Edge != null)
                {
                    UnLink(inputSocket, inputSocket.Edge.Output);
                }
            }

            if (socket.IsOutput())
            {
                OutputSocket outputSocket = (OutputSocket)socket;
                Edge[]       edgeCopy     = new Edge[outputSocket.Edges.Count];
                outputSocket.Edges.CopyTo(edgeCopy);
                foreach (var edge in edgeCopy)
                {
                    UnLink(edge.Input, outputSocket);
                }
            }
        }
コード例 #3
0
 public static Vector2 GetTangentPosition(AbstractSocket socket, Vector2 position)
 {
     if (socket.IsInput())
     {
         return(position + Vector2.left * BonConfig.EdgeTangent);
     }
     return(position + Vector2.right * BonConfig.EdgeTangent);
 }
コード例 #4
0
 public AbstractSocket GetOtherSocket(AbstractSocket socket)
 {
     if (socket == Input)
     {
         return(Output);
     }
     return(Input);
 }
コード例 #5
0
 public static Vector2 GetEdgePosition(AbstractSocket socket, Vector2 position)
 {
     if (socket.Parent.Collapsed)
     {
         float width = BonConfig.SocketSize;
         if (socket.IsOutput())
         {
             width = 0;
         }
         position.Set(socket.X + width, socket.Parent.WindowRect.y + 8);
     }
     else
     {
         float width = 0;
         if (socket.IsOutput())
         {
             width = BonConfig.SocketSize;
         }
         position.Set(socket.X + width, socket.Y + BonConfig.SocketSize / 2f);
     }
     return(position);
 }
コード例 #6
0
ファイル: Node.cs プロジェクト: apperdog/EditorMonsterAI
 /// <summary> Returns true if this node contains the assigned socket.</summary>
 /// <param name="socket"> The socket to use.</param>
 /// <returns>True if this node contains the assigned socket.</returns>
 public bool ContainsSocket(AbstractSocket socket)
 {
     return(Sockets.Contains(socket));
 }
コード例 #7
0
 public void OnUnLink(Graph graph, AbstractSocket s01, AbstractSocket s02)
 {
     // Log.Info("OnUnLink: Node " + s01.Edge.Output.Parent.Id + " from Node " + s02.Edge.Input.Parent.Id);
 }