Esempio n. 1
0
        public static string Draw(NodePointData data)
        {
            if (typeof(void).FullName == data.parameterType)
            {
                return("");
            }

            if (data.connections.Count != 0)
            {
                DrawParameter(data);
                return(null);
            }

            if (typeof(bool).FullName == data.parameterType)
            {
                return(DrawBool(data));
            }
            else if (typeof(string).FullName == data.parameterType)
            {
                return(DrawString(data));
            }
            else if (typeof(float).FullName == data.parameterType)
            {
                return(DrawFloat(data));
            }
            else if (typeof(int).FullName == data.parameterType)
            {
                return(DrawInt(data));
            }
            else
            {
                DrawParameter(data);
                return(null);
            }
        }
Esempio n. 2
0
 public static string DrawBool(NodePointData data)
 {
     GUILayout.Label(data.parameterName, NodeGUIResources.styles.nodeElement, GUILayout.Height(20));
     if (data.cachedValue == null)
     {
         data.cachedValue = "False";
     }
     return(EditorGUILayout.Toggle(bool.Parse(data.cachedValue), GUILayout.Width(20), GUILayout.Height(20)).ToString());
 }
Esempio n. 3
0
 public void CopyData(NodePointData other)
 {
     GUID          = other.GUID;
     index         = other.index;
     nodeGUID      = other.nodeGUID;
     pointType     = other.pointType;
     parameterType = other.parameterType;
     parameterName = other.parameterName;
     connections   = other.connections;
 }
Esempio n. 4
0
        public void OnClickRemoveConnection(Connection connection)
        {
            connections.Remove(connection);
            NodePointData inP  = NodeGUIUtility.GetInstance <NodePointData>(connection.data.inGUID),
                          outP = NodeGUIUtility.GetInstance <NodePointData>(connection.data.outGUID);

            inP.connections.Remove(connection.data.GUID);
            outP.connections.Remove(connection.data.GUID);
            NodeGUIUtility.RemoveInstance(connection.data);
        }
Esempio n. 5
0
        public static Connection CreateConnectionInRuntime(NodeConnectionData data)
        {
            Connection    c   = new Connection(data);
            NodePointData inP = NodeGUIUtility.GetInstance <NodePointData>(data.inGUID)
            , outP            = NodeGUIUtility.GetInstance <NodePointData>(data.outGUID);

            inP.connections.Add(data.GUID);
            outP.connections.Add(data.GUID);
            return(c);
        }
Esempio n. 6
0
        public void Draw()
        {
            NodePointData inP = NodeGUIUtility.GetInstance <NodePointData>(data.inGUID), outP = NodeGUIUtility.GetInstance <NodePointData>(data.outGUID);

            Handles.DrawBezier(
                inP.rect.center,
                outP.rect.center,
                inP.rect.center + Vector2.left * 50f,
                outP.rect.center - Vector2.left * 50f,
                Color.white,
                null,
                4f
                );

            if (Handles.Button((inP.rect.center + outP.rect.center) * 0.5f, Quaternion.identity, 4, 8, Handles.RectangleHandleCap))
            {
                NodeBaseEditor.Current.OnClickRemoveConnection(this);
            }
        }
Esempio n. 7
0
 public ConnectionPoint(NodePointData data)
 {
     NodeGUIUtility.AddInstance(data);
     this.data = data;
 }
Esempio n. 8
0
 private void CreateNodePointInLoad(NodePointData data)
 {
     nodes.Find((n) => n.data.GUID == data.nodeGUID).AttachPoint(data);
 }
Esempio n. 9
0
 public static string DrawBool(NodePointData data)
 {
     GUILayout.Label(data.parameterName, NodeGUIResources.styles.inputPort, GUILayout.Height(20));
     return(EditorGUILayout.Toggle(bool.Parse(data.cachedValue), GUILayout.Width(20), GUILayout.Height(20)).ToString());
 }
Esempio n. 10
0
 public static string DrawFloat(NodePointData data)
 {
     GUILayout.Label(data.parameterName, NodeGUIResources.styles.inputPort, GUILayout.Height(20));
     return(EditorGUILayout.FloatField(float.Parse(data.cachedValue), GUILayout.Width(100), GUILayout.Height(17)).ToString());
 }
Esempio n. 11
0
 public static string DrawString(NodePointData data)
 {
     GUILayout.Label(data.parameterName, NodeGUIResources.styles.inputPort, GUILayout.Height(20));
     return(EditorGUILayout.TextField(data.cachedValue, GUILayout.Width(100), GUILayout.Height(17)));
 }
Esempio n. 12
0
 public static void DrawParameter(NodePointData data)
 {
     GUILayout.Label(data.parameterName, NodeGUIResources.styles.inputPort, GUILayout.Height(20));
     GUILayout.Label("", NodeGUIResources.styles.inputPort, GUILayout.Height(20));
 }
Esempio n. 13
0
 public void AddPoint(NodePointData point)
 {
     points.Add(new ConnectionPoint(point));
     data.points.Add(point.GUID);
 }
Esempio n. 14
0
 public void AttachPoint(NodePointData data)
 {
     points.Add(new ConnectionPoint(data));
     UpdateResize();
 }
Esempio n. 15
0
 public static string DrawInt(NodePointData data)
 {
     GUILayout.Label(data.parameterName, NodeGUIResources.styles.nodeElement, GUILayout.Height(20));
     return(EditorGUILayout.IntField(int.Parse(data.cachedValue), NodeGUIResources.styles.inputField, GUILayout.Width(70), GUILayout.Height(17)).ToString());
 }