コード例 #1
0
    private void OnGUI()
    {
        Event e = Event.current;

        mousePos = e.mousePosition;
        if (e.type == EventType.MouseDown)
        {
            BaseNode tempNode = ClickedOnANode();
            if (e.button == 1)
            {
                if (!tempNode)
                {
                    GenericMenu menu = new GenericMenu();
                    menu.AddItem(new GUIContent("Add Noise Node"), false, AddNode, typeof(NoiseNode));
                    menu.AddItem(new GUIContent("Add Vector2 Node"), false, AddNode, typeof(Vector2Node));
                    menu.ShowAsContext();
                    e.Use();
                }
                else
                {
                    GenericMenu menu = new GenericMenu();
                    menu.AddItem(new GUIContent("Delete Node"), false, DeleteNode, tempNode);
                    menu.ShowAsContext();
                    e.Use();
                }
            }
            if (e.button == 0)
            {
                AbstractField tempField = tempNode.ClickedOnField();
                if (tempField != null)
                {
                }
            }
        }

        BeginWindows();
        for (int i = 0; i < nodes.Count; i++)
        {
            nodes[i].windowRect = GUILayout.Window(i, nodes[i].windowRect, showNode, nodes[i].windowName);
        }
        EndWindows();
    }