/// <summary> /// Not yet documented. /// </summary> public static DragHandle BeginDragHandle(object key, object obj, bool isVirtualDragHandle, DragAndDropMethods defaultMethod = DragAndDropMethods.Move) { Update(); if (Event.current.type == EventType.Repaint) { GUIHelper.BeginLayoutMeasuring(); } var dragHandle = GUIHelper.GetTemporaryContext <DragHandle>(draggableKey, key).Value; dragHandle.Object = obj; dragHandle.DragAndDropMethod = defaultMethod; dragHandle.LayoutDepth = dragHandles.Count; dragHandles.Push(dragHandle); dragHandle.SourceWindow = GUIHelper.CurrentWindow; return(dragHandle); }
/// <summary> /// Not yet documented. /// </summary> public static DropZoneHandle BeginDropZone(object key, Type type, bool canAcceptMove) { Update(); GUILayout.BeginVertical(); var rect = GUIHelper.GetCurrentLayoutRect(); var dropZoneHandle = GUIHelper.GetTemporaryContext <DropZoneHandle>(dropZoneKey, key).Value; dropZoneHandle.Type = type; dropZoneHandle.CanAcceptMove = canAcceptMove; dropZoneHandle.LayoutDepth = dropZoneHandles.Count; dropZoneHandles.Push(dropZoneHandle); dropZoneHandle.Update(EventType.Layout); dropZoneHandle.SourceWindow = GUIHelper.CurrentWindow; if (Event.current.type == EventType.Repaint) { dropZoneHandle.Rect = rect; } return(dropZoneHandle); }