void Update() { if (Time.timeScale <= 0) { return; } #if USE_NEW_INPUT var mouseX = UnityEngine.InputSystem.Mouse.current.delta.x.ReadValue() * Time.deltaTime; var mouseY = UnityEngine.InputSystem.Mouse.current.delta.y.ReadValue() * Time.deltaTime; #else var mouseX = InputDeviceManager.GetAxis(mouseXAxis); var mouseY = InputDeviceManager.GetAxis(mouseYAxis); #endif // Mouse X rotation: transform.Rotate(0, mouseX * mouseSensitivityX, 0); // Mouse Y rotation: m_cameraRotationY += mouseY * mouseSensitivityY; m_cameraRotationY = ClampAngle(m_cameraRotationY, mouseMinimumY, mouseMaximumY); Quaternion yQuaternion = Quaternion.AngleAxis(m_cameraRotationY, -Vector3.right); if (m_smoothCamera != null) { // If we have a SmoothCameraWithBumper, leave camera adjustments to it: m_smoothCamera.adjustQuaternion = yQuaternion; } else { UnityEngine.Camera.main.transform.localRotation = m_originalCameraRotation * yQuaternion; } // Weapon: if (m_animator != null) { m_animator.SetBool(twoHandWeaponBoolParameter, useTwoHandWeapon); } // Firing: if (DialogueManager.GetInputButtonDown(attackButton) && !m_firing) { if (m_animator != null) { m_animator.SetTrigger(attackTriggerParameter); } m_firing = true; Invoke("OnFired", hitDelay); } // Movement: float centralSpeed = InputDeviceManager.GetAxis(verticalAxis); float lateralSpeed = InputDeviceManager.GetAxis(horizontalAxis); if ((Mathf.Abs(centralSpeed) > 0.1f) || (Mathf.Abs(lateralSpeed) > 0.1f)) { SetSpeed(centralSpeed, lateralSpeed); } else { SetSpeed(0, 0); } // Move, including gravity: if (m_animator == null || !m_animator.applyRootMotion) { m_controller.Move(transform.rotation * ((Vector3.forward * centralSpeed * runSpeed * Time.deltaTime) + (Vector3.right * lateralSpeed * runSpeed * Time.deltaTime)) + Vector3.down * 20f * Time.deltaTime); } }