Example #1
0
    private void UpdateInput()
    {
        Vector3 MouseDelta = _Game.GetMouse();
        bool    mbDown     = !Android && Input.GetMouseButton(0);

        for (int i = 0; i < Input.touchCount; i++)
        {
            var p = Input.GetTouch(i).position;
            if (Input.GetTouch(i).phase == TouchPhase.Began && Vector2.Distance(new Vector2(1, 0), new Vector2(p.x / 800, p.y / 400)) < .1f)
            {
                mbDown     = true;
                MouseDelta = Vector3.zero;
                break;
            }
        }
        if (lockCursor || Android)
        {
            gun.MouseButtonDown = mbDown;
        }
        move = _Game.GetMove();
        if (gun == c4 && gun.MouseButtonDown)
        {
            move = Vector3.zero;
        }
        if (_ObsCamera.thirdPerson)
        {
            Ray        ray = _ObsCamera.camera.ScreenPointToRay(new Vector3(Screen.width / 2f, Screen.height / 2f, 0));
            RaycastHit hit;
            ray.origin += (pos - _ObsCamera.pos).magnitude * ray.direction.normalized;
            Debug.DrawRay(ray.origin, ray.direction);
            if (Physics.Raycast(ray, out hit, 1000))
            {
                var dir      = Quaternion.LookRotation(hit.point - camera.transform.position).eulerAngles;
                var CamerRot = camera.transform.eulerAngles;
                MouseDelta = new Vector3(Mathf.DeltaAngle(CamerRot.x, dir.x),
                                         Mathf.DeltaAngle(CamerRot.y, dir.y), 0);
            }
        }
        CamRotX = Mathf.Clamp(clampAngle(CamRotX) + MouseDelta.x, -85, 85);
        Rotate(MouseDelta.y);
        if (Input.GetKeyDown(KeyCode.Space) && lockCursor && isGrounded)
        {
            CallRPC(Jump, PhotonTargets.All);
        }
        if (Input.GetKeyDown(KeyCode.R))
        {
            gun.OnRDown();
        }
    }