コード例 #1
0
 public virtual void handleTouch(ButtonManager.WTouch touch, Vector3 position, bool start, bool end)
 {
     if (started)
     {
         pressState = true;
     }
 }
コード例 #2
0
 public override void handleTouch(ButtonManager.WTouch touch, Vector3 position, bool start, bool end)
 {
     base.handleTouch(touch, position, start, end);
     if (end)
     {
         released();
     }
 }
コード例 #3
0
    public override void handleTouch(ButtonManager.WTouch touch, Vector3 position, bool start, bool end)
    {
        base.handleTouch(touch, position, start, end);
        Vector3 clickNewPosition = cam.ScreenToWorldPoint(position);

        if (start)
        {
            clickStartPosition = clickNewPosition;
            started            = true;
            pressState         = true;
            buttonTouchId      = (touch != null?touch.touch.fingerId:MOUSE_FINGER_ID);
            startPosition      = infoScreenAnimator.transform.localPosition;
        }
        if (started && buttonTouchId == (touch != null?touch.touch.fingerId:MOUSE_FINGER_ID))
        {
            if (dragging || (clickNewPosition - clickStartPosition).magnitude > dragTreshold)
            {
                if (!dragging)
                {
                    clickStartPosition = clickNewPosition;
                    startPosition      = infoScreenAnimator.transform.localPosition;
                    dragging           = true;
                }
                Vector3 diff        = (clickNewPosition - clickStartPosition);
                Vector3 newPosition = startPosition + diff;
                infoScreenAnimator.setPosition(newPosition);
                ButtonManager.Instance.selectNextRadioButton(screen, (int)((Mathf.Abs(diff.x) + InfoStreamAnimator.SCREEN_WIDTH / 2f) / InfoStreamAnimator.SCREEN_WIDTH) * (int)Mathf.Sign(-diff.x), false);
            }
            else
            {
                if (end)
                {
                    released(clickNewPosition);
                    buttonTouchId = -1;
                    started       = false;
                    return;
                }
            }
            if (end)
            {
                released(clickNewPosition);
                dragging      = false;
                buttonTouchId = -1;
                started       = false;
                return;
            }
        }
    }
コード例 #4
0
    public override void handleTouch(ButtonManager.WTouch touch, Vector3 position, bool start, bool end)
    {
        base.handleTouch(touch, position, start, end);
        Vector3 clickNewPosition = cam.ScreenToWorldPoint(position);

        if (start)
        {
            clickStartPosition = clickNewPosition;
            startPosition      = positionTool.transform.localPosition;
            startTime          = Time.time;
            started            = true;
            pressState         = true;
            buttonTouchId      = (touch != null?touch.touch.fingerId:MOUSE_FINGER_ID);
        }
        if (started && buttonTouchId == (touch != null?touch.touch.fingerId:MOUSE_FINGER_ID))
        {
            if (positionTool.dragable && (dragging || (clickNewPosition - clickStartPosition).magnitude > dragTreshold))
            {
                if (!dragging)
                {
                    clickStartPosition = clickNewPosition;
                    startPosition      = positionTool.transform.localPosition;
                    dragging           = true;
                    WidgetEventDispather.Instance.notifyWidgetDraggingStart();
                    disableTimerAnimation();
                }
                Vector3 newPosition = startPosition + (clickNewPosition - clickStartPosition);
                positionTool.setSnapedPosition(newPosition);
            }
            else
            {
                if (DicePlusConnectionManager.Instance.state == DicePlusConnectionManager.State.ROLLER)
                {
                    animation["timer"].speed = 1 / Time.timeScale;
                    animation.CrossFade("timer");
                    if (Time.time > startTime + timerInterval)
                    {
                        runClickAnimation();
                        DicePlusConnectionManager.Instance.disableRoller();
                        buttonTouchId = -1;
                        started       = false;
                        disableTimerAnimation();
                        return;
                    }
                }
                if (end)
                {
                    released();
                    buttonTouchId = -1;
                    started       = false;
                    disableTimerAnimation();
                    return;
                }
            }
            if (end)
            {
                dragging = false;
                WidgetEventDispather.Instance.notifyWidgetDraggingEnd();

                buttonTouchId = -1;
                started       = false;
                disableTimerAnimation();
                return;
            }
        }
    }