Exemplo n.º 1
0
 internal static void ResetDragged()
 {
     DraggedElement?.OnDragReset();
     aStage?.getElements().Remove(myDraggedItem);
     myDraggedItem.setDrawable(null);
     DraggedElement = null;
 }
Exemplo n.º 2
0
        internal static void AcceptElement(IDropTarget myResult)
        {
            if (DraggedElement == null)
            {
                return;
            }
            var myItem = DraggedElement.GetDraggedItem();

            myResult.Accept(myItem);
            DraggedElement?.OnDragEnd(true);
            DraggedElement = null;
            aStage?.getElements().Remove(myDraggedItem);
        }
Exemplo n.º 3
0
 internal static void StartDrag(Vector2 Position, Stage myStageImage, IDraggableElement myElement)
 {
     aStage?.getElements().Remove(myDraggedItem);
     aStage = myStageImage;
     DraggedElement?.OnDragReset();
     DraggedElement = myElement;
     myElement.OnDragStart();
     if (!myStageImage.getElements().Contains(myDraggedItem))
     {
         myStageImage.addElement(myDraggedItem);
     }
     myDraggedItem.setDrawable(DraggedElement.GetGraphic());
     myDraggedItem.setPosition(Position.X, Position.Y);
 }
Exemplo n.º 4
0
        /// <summary>
        /// Mouse or touch is being moved.
        /// </summary>
        /// <param name="inputPos">location of cursor</param>
        /// <param name="over">element under cursor</param>
        /// <param name="lastOver">element that was previously under the cursor</param>
        void updateInputMoved(Vector2 inputPos, Element over, Element lastOver)
        {
            for (var i = _inputFocusListeners.Count - 1; i >= 0; i--)
            {
                ((IInputListener)_inputFocusListeners[i]).onMouseMoved(_inputFocusListeners[i].stageToLocalCoordinates(inputPos));
            }
            if (pressed)
            {
                if (over != null)
                {
                    IDraggableElement myOver = over as IDraggableElement;
                    if (myOver != null)
                    {
                        DragAndDropSystem.StartDrag(inputPos, this, myOver);
                    }
                }
            }

            if (over != lastOver)
            {
                (over as IInputListener)?.onMouseEnter();
                (lastOver as IInputListener)?.onMouseExit();
            }
        }