Пример #1
0
 public override void OnDragToolBegin(UGUIDrag drag, PointerEventData eventData)
 {
     base.OnDragToolBegin(drag, eventData);
     SetListColliderEnabled(true);
     _sendHoverEventCount    = 0;
     _sendHoverOutEventCount = 0;
     _sendDropEventCount     = 0;
 }
    public override void OnInspectorGUI()
    {
        UGUIDrag drager = target as UGUIDrag;

        serializedObject.Update();
        EditorGUILayout.PropertyField(serializedObject.FindProperty("dragTarget"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("rayCastCamera"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("rayCastMask"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("raycastDepth"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("isDragOriginPoint"), false);
        if (drager.isDragOriginPoint)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("dragOffset"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("dragOffsetZ"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("dragChangeScale"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("dragChangeRotate"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("dragingParentNode"), false);
        if (!drager.dragingParentNode)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("dragingParent"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("dragOnPointerDown"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("triggerPos"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("triggerType"), false);
        if (drager.triggerType == UGUIDrag.TriggerType.Circle)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("triggerRadius"), false);
        }
        else if (drager.triggerType == UGUIDrag.TriggerType.Range)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("triggerRange"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("sendHoverEvent"), false);
        if (drager.sendHoverEvent)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("onHoverMethodName"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("onHoverOutMethodName"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("onDropMethodName"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("releaseAutoBack"), false);
        if (drager.releaseAutoBack)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("backEffect"), false);
            if (drager.backEffect != UGUIDrag.DragBackEffect.None &&
                drager.backEffect != UGUIDrag.DragBackEffect.Destroy &&
                drager.backEffect != UGUIDrag.DragBackEffect.Immediately)
            {
                EditorGUILayout.PropertyField(serializedObject.FindProperty("backDuring"), false);
                EditorGUILayout.PropertyField(serializedObject.FindProperty("tweenEase"), false);
                EditorGUILayout.PropertyField(serializedObject.FindProperty("backKeepTop"), false);
            }
        }
        serializedObject.ApplyModifiedProperties();
    }
Пример #3
0
    public override void OnHover(UGUIDrag drag, Collider2D[] arrayCollider)
    {
        if (true == _isSendEventOnce && _sendHoverEventCount > 0)
        {
            return;
        }
        if (0 == _listCollider.Count)
        {
            return;
        }
        base.OnHover(drag, arrayCollider);
        bool flag = false;

        for (int i = 0; i < arrayCollider.Length; i++)
        {
            Collider2D c1 = arrayCollider[i];
            for (int j = 0; j < _listCollider.Count; j++)
            {
                Collider2D c2 = _listCollider[j];
                if (c1.transform == c2.transform)
                {
                    bool hasTrigger = false;
                    if (true == _isCheckTriggerState && true == _dicTriggerState[c2])
                    {
                        hasTrigger = true;
                    }
                    if (false == hasTrigger)
                    {
                        _currentCollider = c1;
                        OnHoverCollision.Invoke();
                        flag = true;
                        if (false == _isTriggerAll)
                        {
                            break;
                        }
                    }
                }
            }
            if (false == _isTriggerAll && true == flag)
            {
                break;
            }
        }
        if (true == flag)
        {
            _sendHoverEventCount += 1;
            if (_isControlDragEffect && _drag._dragEffectType == UGUIDrag.DRAG_EFFECT_TYPE.IN_AREA)
            {
                SetDragEffectPlay(true);
            }
            return;
        }
        SetOnHoverOutCoPlay(true);
    }
Пример #4
0
 private void SetToolTouchEnabled(bool isEnabled)
 {
     if (null != this.GetComponent <UGUIDrag> ())
     {
         UGUIDrag target = this.GetComponent <UGUIDrag> ();
         target.enabled = isEnabled;
     }
     if (null != this.GetComponent <UIButton> ())
     {
         UIButton target = this.GetComponent <UIButton> ();
         target.IsTouchEnabled = isEnabled;
     }
 }
Пример #5
0
 public override void OnDragToolBegin(UGUIDrag drag, PointerEventData eventData)
 {
     base.OnDragToolBegin(drag, eventData);
     if (true == _isCleanOtherPaintTool)
     {
         _hasSendPainterFinish = false;
     }
     if (_mode != Mode.DragTool)
     {
         return;
     }
     _isSelected = true;
     StartDragPaint();
 }
Пример #6
0
 public override void OnHoverOut(UGUIDrag drag)
 {
     if (true == _isSendEventOnce && _sendHoverOutEventCount > 0)
     {
         return;
     }
     if (0 == _listCollider.Count)
     {
         return;
     }
     base.OnHoverOut(drag);
     _sendHoverOutEventCount += 1;
     SetOnHoverOutCoPlay(true);
     OnHoverOutCollision.Invoke();
 }
Пример #7
0
 public override void OnDragToolEnd(UGUIDrag drag, PointerEventData eventData)
 {
     OnInArea.Invoke(false);
     if (_operation == Operation.CutShape)
     {
         OnCutShape.Invoke();
     }
     base.OnDragToolEnd(drag, eventData);
     if (_mode != Mode.DragTool)
     {
         return;
     }
     EndDragPaint();
     _isSelected = false;
 }
Пример #8
0
 public virtual void Init()
 {
     if (null == _drag)
     {
         _drag = GetComponent <UGUIDrag>();
     }
     if (null != _drag)
     {
         _drag.OnBeginDragAction        += OnDragToolBegin;
         _drag.OnDragAction             += OnDragTool;
         _drag.OnEndDragAction          += OnDragToolEnd;
         _drag.OnTweenOverAction        += OnDragToolTweenOver;
         _drag.OnHoverColliderAction    += OnHover;
         _drag.OnHoverColliderOutAction += OnHoverOut;
         _drag.OnDropColliderAction     += OnDrop;
         _drag.OnClickAction            += OnClick;
     }
 }
Пример #9
0
 public override void OnDrop(UGUIDrag drag, Collider2D[] arrayCollider)
 {
     if (true == _isSendEventOnce && _sendDropEventCount > 0)
     {
         return;
     }
     if (0 == _listCollider.Count)
     {
         return;
     }
     base.OnDrop(drag, arrayCollider);
     _sendDropEventCount += 1;
     if (_isControlDragEffect && _drag._dragEffectType == UGUIDrag.DRAG_EFFECT_TYPE.IN_AREA)
     {
         SetDragEffectPlay(false);
     }
     OnDropCollision.Invoke();
 }
Пример #10
0
    public override void OnDragTool(UGUIDrag drag, PointerEventData eventData)
    {
        base.OnDragTool(drag, eventData);
        if (null == _drag || _mode != Mode.DragTool)
        {
            return;
        }
        if (_operation == Operation.CutShape)
        {
            return;
        }
        if (true == _hasSendPainterFinish)
        {
            return;
        }
        Transform target = null != _drag._triggerPos ? _drag._triggerPos : _drag._tool;

        DoDragPaint(target);
    }
Пример #11
0
 public virtual void OnHoverOut(UGUIDrag drag)
 {
 }
Пример #12
0
 public virtual void OnHover(UGUIDrag drag, Collider2D[] arrayCollider)
 {
 }
Пример #13
0
 public virtual void OnDragToolTweenOver(UGUIDrag drag)
 {
     OnToolTweenOver.Invoke();
 }
Пример #14
0
 public virtual void OnDragToolEnd(UGUIDrag drag, PointerEventData eventData)
 {
     OnToolEnd.Invoke();
 }
Пример #15
0
 public virtual void OnDragTool(UGUIDrag drag, PointerEventData eventData)
 {
 }
Пример #16
0
 public override void OnDragToolTweenOver(UGUIDrag drag)
 {
     base.OnDragToolTweenOver(drag);
     OnInArea.Invoke(false);
 }
Пример #17
0
 public override void OnDragToolTweenOver(UGUIDrag drag)
 {
     base.OnDragToolTweenOver(drag);
 }
Пример #18
0
 public override void OnDragToolEnd(UGUIDrag drag, PointerEventData eventData)
 {
     base.OnDragToolEnd(drag, eventData);
     SetListColliderEnabled(false);
 }
Пример #19
0
 public virtual void OnDrop(UGUIDrag drag, Collider2D[] arrayCollider)
 {
 }
Пример #20
0
 public virtual void OnClick(UGUIDrag drag)
 {
 }
Пример #21
0
    public override void OnInspectorGUI()
    {
        UGUIDrag drager = target as UGUIDrag;

        serializedObject.Update();
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_tool"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_box"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_raycastCamera"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_raycastMask"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_raycastDepth"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_isDragOriginPoint"), false);
        if (drager._isDragOriginPoint)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_dragOffset"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_dragOffsetZ"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_dragChangeScale"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_dragChangeRotate"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_draggingParent"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_isDragOnPointerDown"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_triggerPos"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_triggerType"), false);
        if (drager._triggerType == UGUIDrag.TriggerType.Circle)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_triggerRadius"), false);
        }
        else if (drager._triggerType == UGUIDrag.TriggerType.Range)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_triggerRange"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_soundDragging"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_particleDragging"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_dragEffectType"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_dragValidType"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_pageView"), false);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_isReleaseAutoBack"), false);
        if (drager._isReleaseAutoBack)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_backEffect"), false);
            if (drager._backEffect != UGUIDrag.DragBackEffect.None &&
                drager._backEffect != UGUIDrag.DragBackEffect.Destroy &&
                drager._backEffect != UGUIDrag.DragBackEffect.Immediately)
            {
                EditorGUILayout.PropertyField(serializedObject.FindProperty("_backDuring"), false);
                EditorGUILayout.PropertyField(serializedObject.FindProperty("_tweenEase"), false);
                EditorGUILayout.PropertyField(serializedObject.FindProperty("_isBackKeepTop"), false);
            }
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_hasTip"), false);
        if (drager._hasTip)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_tipBeforeDrag"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_tipDragging"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_hasBtn"), false);
        if (drager._hasBtn)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_btnClick"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_soundClick"), false);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("_hasAudio"), false);
        if (drager._hasAudio)
        {
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_soundStartDrag"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_soundEndDrag"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_voStartDrag"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_voEndDrag"), false);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("_voDone"), false);
        }
        serializedObject.ApplyModifiedProperties();
    }
Пример #22
0
 public override void OnClick(UGUIDrag drag)
 {
 }
Пример #23
0
    public virtual void OnDragToolBegin(UGUIDrag drag, PointerEventData eventData)
    {
        OnToolPreStart.Invoke();

        OnToolStart.Invoke();
    }