Esempio n. 1
0
    // 拖曳完成回调aa
    protected void OnDragFinishNotify()
    {
        if (onDragFinished != null)
        {
            onDragFinished(this);
        }

        sdDragPanel kDragPanel = this.gameObject.transform.parent.GetComponent <sdDragPanel>();

        kDragPanel.onDragFinished -= new sdDragPanel.OnDragFinished(OnDragFinishNotify);
    }
Esempio n. 2
0
    // 移动到当前图标并回调aa
    public void Select()
    {
        sdDragPanel kDragPanel = this.gameObject.transform.parent.GetComponent <sdDragPanel>();

        if (kDragPanel == null)
        {
            return;
        }

        kDragPanel.onDragFinished += new sdDragPanel.OnDragFinished(this.OnDragFinishNotify);
        kDragPanel.SetMove(this.transform.localPosition.x);
    }
Esempio n. 3
0
    // 处理按下与松开消息aa
    void OnPress(bool isPressed)
    {
        if (!isPressed)
        {
            if (mIsDragging)
            {
                DragPanelIcon   kNearIcon = null;
                DragPanelIcon[] kIconList = this.transform.parent.GetComponentsInChildren <DragPanelIcon>();

                float   fMinDistance = 1000.0f;
                Vector4 kRange       = this.transform.parent.GetComponent <UIPanel>().clipRange;
                foreach (DragPanelIcon kIconItem in kIconList)
                {
                    float kPosition = kIconItem.gameObject.transform.localPosition.x;
                    float fDelta    = Mathf.Abs(kPosition - kRange.x);
                    if (fDelta < fMinDistance)
                    {
                        fMinDistance = fDelta;
                        kNearIcon    = kIconItem;
                    }
                }

                if (kNearIcon != null)
                {
                    sdDragPanel kDragPanel = this.gameObject.transform.parent.GetComponent <sdDragPanel>();
                    kDragPanel.onDragFinished += new sdDragPanel.OnDragFinished(kNearIcon.OnDragFinishNotify);                          //< 注册回调aa
                    kDragPanel.SetMove(kNearIcon.transform.localPosition.x);                                                            //< 要求面板移动到指定位置aa
                }

                mIsDragging = false;
            }
            else
            {
                if (this.gameObject.transform.localPosition.x == this.transform.parent.GetComponent <UIPanel>().clipRange.x)
                {
                    if (onDragFinished != null)                                 //< 已经在指定位置则立即回调aa
                    {
                        onDragFinished(this);
                    }
                }
                else
                {
                    sdDragPanel kDragPanel = this.gameObject.transform.parent.GetComponent <sdDragPanel>();
                    kDragPanel.onDragFinished += new sdDragPanel.OnDragFinished(this.OnDragFinishNotify);                       //< 注册回调aa
                    kDragPanel.SetMove(this.gameObject.transform.localPosition.x);                                              //< 要求面板移动到指定位置aa
                }
            }
        }
    }