Пример #1
0
 internal void RegisterDragProcessor(DragProcessor dragProcessor)
 {
     if (!DragProcessors.Contains(dragProcessor))
     {
         DragProcessors.Add(dragProcessor);
     }
 }
Пример #2
0
        public void SetOnDrag(bool drag, Collider collider, DragProcessor dragProcessor)
        {
            if (isDragging != drag)
            {
                if (drag) // Press
                {
                    MyDragProcessor = dragProcessor;
                    caller.Draggable_SetStates(ref canDrag, ref dragFrom_DragArea);
                    if (canDrag)
                    {
                        StartDragPos = MyDragProcessor.CurrentMousePosition_World;
                        caller.Draggable_OnMouseDown(dragFrom_DragArea, collider);
                        isDragging = true;
                    }
                    else
                    {
                        isDragging = false;
                        DragManager.Instance.CancelDrag();
                    }
                }
                else // Release
                {
                    if (canDrag)
                    {
                        caller.Draggable_OnMouseUp(DragManager.Instance.Current_DragArea, MyDragProcessor.CurrentMousePosition_World - StartDragPos, MyDragProcessor.DeltaMousePosition_World);
                        DragManager.Instance.CurrentDrag = null;
                    }
                    else
                    {
                        DragManager.Instance.CurrentDrag = null;
                    }

                    dragFrom_DragArea = DragAreaDefines.None;
                    isDragging        = false;
                    MyDragProcessor   = null;
                }
            }
        }
Пример #3
0
 internal void UnregisterDragProcessor(DragProcessor dragProcessor)
 {
     DragProcessors.Remove(dragProcessor);
 }