Esempio n. 1
0
        private void DrawActiveConnection()
        {
            if (HeldSocket == null)
            {
                return;
            }

            Vector2 output = HeldSocket.SocketType == SocketType.Output ? TerraUtility.GetSocketRect(HeldSocket).center : Event.current.mousePosition;
            Vector2 input  = HeldSocket.SocketType == SocketType.Input ? TerraUtility.GetSocketRect(HeldSocket).center : Event.current.mousePosition;

            TerraGUI.DrawConnection(output, input, TerraUtility.TypeToColor(HeldSocket.FieldType));
        }
Esempio n. 2
0
        private static void DrawSocket(NodeSocket socket)
        {
            Rect socketRect = TerraUtility.GetSocketRect(socket);

            if (socket.SocketType == SocketType.Output)
            {
                foreach (SocketConnection connection in socket.Connections)
                {
                    DrawConnection(socketRect.center, TerraUtility.GetSocketRect(connection.Socket).center, TerraUtility.TypeToColor(socket.FieldType));
                }
            }

            Handles.DrawSolidRectangleWithOutline(socketRect, Color.white, new Color(0, 0, 0, 0.6f));
            Handles.DrawSolidRectangleWithOutline(new Rect(socket.SocketType == SocketType.Input ? socketRect.position : (socketRect.position + new Vector2(socketRect.size.x, 0) - new Vector2(socketRect.size.x * 0.3f, 0)), new Vector2(socketRect.size.x * 0.4f, socketRect.size.y)), TerraUtility.TypeToColor(socket.FieldType), new Color(0, 0, 0, 0.6f));

            if (socket.UseField)
            {
                DrawSocketField(socket, socketRect);
            }
            else
            {
                GUI.enabled = false;
                GUIStyle textStyle = new GUIStyle(EditorStyles.centeredGreyMiniLabel);
                textStyle.alignment = socket.SocketType == SocketType.Input ? TextAnchor.MiddleLeft : TextAnchor.MiddleRight;
                GUI.TextField(new Rect(socketRect.position + (socket.SocketType == SocketType.Input ? new Vector2(15, -4) : new Vector2(-105, -4)), new Vector2(100, 16)), socket.FieldName, textStyle);
                GUI.enabled = true;
            }
        }