Exemplo n.º 1
0
    public override void OnBeginDrag(PointerEventData eventData)
    {
        base.OnBeginDrag(eventData);

        if (IsDraggable)
        {
            droppedOnZone = false;
            if (DropZoneBelow != null)
            {
                DropZoneBelow.OnItemBeginDrag(this);
            }

            gameObject.layer = LayerMask.NameToLayer(ignoreRaycastLayerName);

            //This is needed, because otherwise after setting the parent, the zone's OnPointerExit will not be called
            eventData.pointerEnter = transform.parent.gameObject;

            transform.parent = Camera.main.transform;

            //This is needed, because sometimes OnDropPlaceExit called before OnbeginDrag
            if (!AboveDropZone)
            {
                DropZoneBelow.OnDroppableAboveExit(this);
            }

            //dropPlaceBelow = transform.parent.GetComponent<DropPlace>();
        }
    }
Exemplo n.º 2
0
    public override void OnDrag(PointerEventData eventData)
    {
        base.OnDrag(eventData);

        if (DropZoneBelow != null)
        {
            DropZoneBelow.OnItemDrag(this);
        }
    }
Exemplo n.º 3
0
 protected override void OnBeforeDrag(PointerEventData eventData)
 {
     base.OnBeforeDrag(eventData);
     if (IsDraggable)
     {
         IsDraggable = false;
         if (DropZoneBelow != null)
         {
             DropZoneBelow.OnItemBeforeDrag(this);
         }
     }
 }
Exemplo n.º 4
0
    public override void OnEndDrag(PointerEventData eventData)
    {
        base.OnEndDrag(eventData);

        gameObject.layer = defaultLayer;

        if (DropZoneBelow != null)
        {
            DropZoneBelow.OnItemEndDrag(this);
        }

        if (!droppedOnZone)
        {
            onDropFailed.Invoke();
        }
    }