Exemplo n.º 1
0
    public IEnumerator CamInputControl()
    {
        //		MDebug.Log(" Cam Input Start");
        inputEnabled = true;
        startDragPos = M_Math.GetInputPos();

        while (inputEnabled && (Input.touchCount > 0 || Input.GetMouseButton(0) || Input.GetAxis("Mouse ScrollWheel") != 0))
        {
            Vector3 mousePos = M_Math.GetInputPos();

            if (Input.touchCount > 1 || Input.GetAxis("Mouse ScrollWheel") != 0)
            {
                StartCoroutine(Zooming());
                yield break;
            }

            if ((startDragPos - mousePos).magnitude > 0.5f)
            {
                StartCoroutine(Pan());
                yield break;
            }

            yield return(null);
        }
    }
Exemplo n.º 2
0
    IEnumerator Pan()
    {
        drag = true;

        startDragPos = M_Math.GetInputPos();
        while (inputEnabled && (Input.touchCount == 1 || Input.GetMouseButton(0)))
        {
            Vector3 mousePos = M_Math.GetInputPos();
            Vector3 delta    = mousePos - startDragPos;
            smoothMove         = delta * Time.deltaTime * 10;
            transform.position = transform.position - smoothMove;
            yield return(null);
        }

        StartCoroutine(DelayedStopDrag());


        if (inputEnabled && (Input.touchCount == 2))
        {
            smoothMove *= 0.2f;
            StartCoroutine(Zooming());
        }

        yield break;
    }
Exemplo n.º 3
0
    IEnumerator WaitForInput()
    {
        _waitingForInput = true;
        Vector3 startDragPos = M_Math.GetInputPos();

        // MDebug.Log("Wait for input");

        while (CanStartInput() && (startDragPos - M_Math.GetInputPos()).magnitude < PanThreshold)
        {
            yield return(null);
        }

        if (CanStartInput())
        {
            StartCoroutine("DoPan");
        }
        _waitingForInput = false;
    }
Exemplo n.º 4
0
    IEnumerator DoPan()
    {
        Active = true;
        Vector3 startDragPos = M_Math.GetInputPos();

        MDebug.Log("^cameraDOPAN");
        while (CanStartInput())
        {
            Vector3 mousePos = M_Math.GetInputPos();
            Vector3 delta    = mousePos - startDragPos;
            Debug.DrawRay(startDragPos, delta, Color.green);

            smoothMove = -Vector3.ClampMagnitude(delta * Time.fixedDeltaTime * 10, delta.magnitude);

            AttemptMove(smoothMove);
            yield return(null);
        }

        yield return(StartCoroutine(M_Math.DelayForFrames(frames_delay)));

        Active = false;

        yield break;
    }