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(); } }