Beispiel #1
0
        static public void LeftClickMenu(Rect rect, TC_ItemBehaviour item)
        {
            if (TD.ClickRect(rect) != 1)
            {
                return;
            }

            string itemText = "";

            if (item.GetType() == typeof(TC_SelectItem))
            {
                itemText = "Item";
            }
            else
            {
                itemText = "Node";
            }

            GenericMenu menu = new GenericMenu();

            string instanceID = item.GetInstanceID().ToString();

            if (Event.current.mousePosition.x < rect.x + ((TD.texCardHeader.width / 2) * TD.scale))
            {
                menu.AddItem(new GUIContent("<-- Add " + itemText), false, LeftClickMenu, instanceID + ":Add Left");
                //if (itemText == "Node")
                //{
                //    menu.AddItem(new GUIContent("<-- Add Node Group"), false, LeftClickMenu, instanceID + ":Add NodeGroup Left");
                //    menu.AddSeparator("");
                //}
                menu.AddItem(new GUIContent("<-- Duplicate " + itemText), false, LeftClickMenu, instanceID + ":Duplicate Left");
            }
            else
            {
                menu.AddItem(new GUIContent("--> Add " + itemText), false, LeftClickMenu, instanceID + ":Add Right");
                //if (itemText == "Node")
                //{
                //    menu.AddItem(new GUIContent("--> Add Node Group"), false, LeftClickMenu, instanceID + ":Add NodeGroup Right");
                //    menu.AddSeparator("");
                //}
                menu.AddItem(new GUIContent("--> Duplicate " + itemText), false, LeftClickMenu, instanceID + ":Duplicate Right");
            }

            // bool eraseNodeMenu = true;

            //if (node.nodeType == NodeType.Select)
            //{
            //    TC_NodeGroup nodeGroup = node.t.parent.GetComponent<TC_NodeGroup>();
            //    if (nodeGroup != null)
            //    {
            //        if (nodeGroup.itemList.Count == 1) eraseNodeMenu = false;
            //    }
            //}

            //if (eraseNodeMenu) {
            //    menu.AddSeparator("");
            //    menu.AddItem(new GUIContent("Erase Node"), false, LeftClickMenu, instanceID + ":Erase Node");
            //}

            menu.ShowAsContext();
        }