Exemple #1
0
 protected void OnMouseDown()
 {
     if (EventSystem.current.IsPointerOverGameObject() == true)
     {
         cpTouchState = EnTouchActionState.Fail;
     }
 }
Exemple #2
0
 private void TouchProcessMulti()
 {
     if (cpInput.GetTouchCount() != cpTouchCount)
     {
         cpTouchState = EnTouchActionState.None;
         return;
     }
     if (cpTouchState == EnTouchActionState.Fail)
     {
         return;
     }
     if (cpTouchState == EnTouchActionState.None)
     {
         if (Vector2.Distance(cpInput.GetTouch(0).position, cpInput.GetTouch(1).position) < cpTouchBoundary)
         {
             cpTouchState     = EnTouchActionState.Down;
             cpTouch1Position = Vector2.LerpUnclamped(cpInput.GetTouch(0).position, cpInput.GetTouch(1).position, 0.5f);
         }
         else
         {
             cpTouchState = EnTouchActionState.Fail;
             return;
         }
     }
     if (cpTouchState == EnTouchActionState.Down)
     {
         cpTouch2Position = Vector2.LerpUnclamped(cpInput.GetTouch(0).position, cpInput.GetTouch(1).position, 0.5f);
         if (Vector2.Distance(cpTouch1Position, cpTouch2Position) > cpTouchBoundary)
         {
             cpTouch1Position = Vector2.LerpUnclamped(cpInput.GetTouch(0).position, cpInput.GetTouch(1).position, 0.5f);
             if (Mathf.Abs(cpTouch1Position.x - cpTouch2Position.x) >= Mathf.Abs(cpTouch1Position.y - cpTouch2Position.y))
             {
                 cpTouchState = EnTouchActionState.DragX;
             }
             else
             {
                 cpTouchState = EnTouchActionState.DragY;
             }
         }
     }
     if (cpTouchState == EnTouchActionState.DragX || cpTouchState == EnTouchActionState.DragY)
     {
         this.transform.Rotate(new Vector3((cpTouch2Position.y - cpTouch1Position.y) / cpResistivity, (cpTouch1Position.x - cpTouch2Position.x) / cpResistivity, 0), Space.World);
         cpTouch1Position = cpTouch2Position;
         cpTouch2Position = Vector2.LerpUnclamped(cpInput.GetTouch(0).position, cpInput.GetTouch(1).position, 0.5f);
         HiEvent.EventDispatch(HiEventID.CubeRotation);
     }
 }
Exemple #3
0
        private void TouchProcess()
        {
            cpTouchCount = cpInput.GetTouchCount();

            if (HiTouchInput.Instance.GetInputType == HiTouchInput.EnInputType.Single)
            {
                if (cpTouchBlock == true)
                {
                    return;
                }
                if (cpTouchCount <= 0)
                {
                    cpTouchState = EnTouchActionState.None;
                    return;
                }
                if (cpTouchCount == 1)
                {
                    TouchProcessSingle();
                }
                else
                {
                    TouchProcessMulti();
                }
            }
            else
            {
                if (cpTouchCount <= 0)
                {
                    cpTouchState = EnTouchActionState.None;
                    return;
                }
                if (cpTouchCount == 1 && cpTouchBlock == false)
                {
                    TouchProcessSingle();
                }
                if (cpTouchCount >= 2)
                {
                    TouchProcessMulti();
                }
            }
        }
Exemple #4
0
        private void TouchProcessMulti()
        {
            if (cpInput.GetTouchCount() != cpTouchCount)
            {
                cpTouchState = EnTouchActionState.None;
                return;
            }

            if (cpTouchState == EnTouchActionState.None)
            {
                cpTouch1Position = cpInput.GetTouch(0).position;
                cpTouchState     = EnTouchActionState.Down;
            }
            if (cpTouchState == EnTouchActionState.Down)
            {
                cpTouch2Position = cpInput.GetTouch(0).position;
                if (Vector2.Distance(cpTouch1Position, cpTouch2Position) > cpTouchBoundary)
                {
                    cpTouchState = EnTouchActionState.Zoom;
                }
            }
            if (cpTouchState == EnTouchActionState.Zoom)
            {
                cpTouch1Position = cpInput.GetTouch(0).position;
                cpTouch2Position = cpInput.GetTouch(1).position;
                if (cpInput.GetTouchCount() == cpTouchCount)
                {
                    //if (Vector2.Distance(cpTouch1Position, cpTouch2Position) > cpInitTouchDist + 1)
                    //{
                    //	ZoomIN();
                    //}
                    //else if (Vector2.Distance(cpTouch1Position, cpTouch2Position) < cpInitTouchDist - 1)
                    //{
                    //	ZoomOUT();
                    //}
                    //cpInitTouchDist = Vector2.Distance(cpTouch1Position, cpTouch2Position);
                }
            }
        }
Exemple #5
0
        private void TouchProcessSingle()
        {
            if (cpInput.GetTouchCount() != cpTouchCount)
            {
                cpTouchState = EnTouchActionState.None;
                return;
            }

            if (cpTouchState == EnTouchActionState.None)
            {
                cpTouch1Position = cpInput.GetTouch(0).position;
                cpTouchState     = EnTouchActionState.Down;
            }
            if (cpTouchState == EnTouchActionState.Down)
            {
                cpTouch2Position = cpInput.GetTouch(0).position;
                if (Vector2.Distance(cpTouch1Position, cpTouch2Position) > cpTouchBoundary)
                {
                    cpCameraFieldOfView = Camera.main.fieldOfView;
                    cpTouch1Position    = cpTouch2Position = cpInput.GetTouch(0).position;
                    cpTouchState        = EnTouchActionState.Zoom;
                }
            }
            if (cpTouchState == EnTouchActionState.Zoom)
            {
                /*
                 * cpTouch1Position = cpInput.GetTouch(0).position;
                 * cpTouch2Position = Vector2.zero;
                 * if (cpInput.GetTouchCount() == cpTouchCount)
                 * {
                 *      if (Vector2.Distance(cpTouch1Position, cpTouch2Position) > cpInitTouchDist + 1)
                 *      {
                 *              ZoomIN();
                 *      }
                 *      else if (Vector2.Distance(cpTouch1Position, cpTouch2Position) < cpInitTouchDist - 1)
                 *      {
                 *              ZoomOUT();
                 *      }
                 *      cpInitTouchDist = Vector2.Distance(cpTouch1Position, cpTouch2Position);
                 * }
                 */

                /*
                 * cpTouch1Position = cpInput.GetTouch(0).position;
                 * cpTouch2Position = Vector2.zero;
                 * if (cpInput.GetTouchCount() == cpTouchCount)
                 * {
                 *      if (Mathf.Abs(cpTouch1Position.y - cpTouch2Position.y) > cpInitTouchDist + 1)
                 *      {
                 *              ZoomIN();
                 *      }
                 *      else if (Mathf.Abs(cpTouch1Position.y - cpTouch2Position.y) < cpInitTouchDist - 1)
                 *      {
                 *              ZoomOUT();
                 *      }
                 *      cpInitTouchDist = Mathf.Abs(cpTouch1Position.y - cpTouch2Position.y);
                 * }
                 */

                cpTouch2Position = cpInput.GetTouch(0).position;
                float _distance = (cpTouch1Position.y - cpTouch2Position.y) / cpResistivity;
                if (cpInput.GetTouchCount() == cpTouchCount)
                {
                    //if (cpTouch1Position.y < cpTouch2Position.y)
                    //{
                    //	ZoomIN(cpCameraFieldOfView, _distance);
                    //}
                    //else if (cpTouch1Position.y > cpTouch2Position.y)
                    //{
                    //	ZoomOUT(cpCameraFieldOfView, _distance);
                    //}

                    SetCameraZoom(cpCameraFieldOfView, _distance);
                }
            }
        }