拖拽区域

   var are = GUILayoutUtility.GetRect(0f, 100f, GUILayout.ExpandWidth(true));
        GUI.contentColor = Color.white;
        GUI.Box(are, "\n拖拽区域");
        EditorGUILayout.Space();
        var eventType = Event.current.type;
        switch (eventType)
        {
            case EventType.DragUpdated:
            case EventType.DragPerform:
                if (are.Contains(Event.current.mousePosition))
                {
                    DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
                    if (eventType == EventType.DragPerform)
                    {
                        DragAndDrop.AcceptDrag();
                        for (int i = 0; i < DragAndDrop.objectReferences.Length; ++i)
                        {
                            if (i >= 1)
                            {
                                Debug.LogError("拖拽超过一个,只取第一个");
                                continue;
                                
                            }

                            var o = DragAndDrop.objectReferences[i];
                            Debug.LogWarning("拖了一个??" + o.GetType());
                        }
                    }
                    Event.current.Use();
                }

                break;
            default:
                break;
        }

最终效果还是不错的

 

DisableButtonGroup

一直想要个不能按下的按钮,发现Editor 的按钮(gui) 怎么没有disable选项,现在今天知道了

人家(gui)有 DisableButtonGroup

更多推荐