void Update() { motor.MovementInput = Vector3.zero; bool forwardKeyDown = Input.GetKey(forwardKey); bool backwardKeyDown = Input.GetKey(backwardKey); bool leftKeyDown = Input.GetKey(leftKey); bool rightKeyDown = Input.GetKey(rightKey); bool jumpKeyPressed = Input.GetKeyDown(jumpKey); bool walkKeyDown = Input.GetKey(walkToggle); bool mouseLookDown = Input.GetMouseButton((int)mouseLookButton) && enableMouseLook; bool mouseLookPressed = Input.GetMouseButtonDown((int)mouseLookButton) && enableMouseLook; bool bothMiceDown = Input.GetMouseButton((int)mouseRunAndLookButton) && mouseLookDown && enableRunAndLook; bool autorunPressed = Input.GetMouseButtonDown((int)autorunToggleButton); IsRunning = !walkKeyDown; MouseLook = mouseLookDown; if (autorunPressed) { autorun = !autorun; } if (autorun || forwardKeyDown || bothMiceDown) { motor.MovementInput.z += 1f; } if (backwardKeyDown) { motor.MovementInput.z -= 1f; } if (mouseLookDown) { if (leftKeyDown) { motor.MovementInput.x -= 1f; } if (rightKeyDown) { motor.MovementInput.x += 1f; } } else { if (leftKeyDown) { motor.Yaw(-(Time.smoothDeltaTime * keyTurnSpeed)); } if (rightKeyDown) { motor.Yaw(Time.smoothDeltaTime * keyTurnSpeed); } } // Set movement speed if (motor.MovementInput.z < 0) { motor.MovementSpeed = walkKeyDown ? backwardWalkSpeed : backwardRunSpeed; } else { motor.MovementSpeed = walkKeyDown ? forwardWalkSpeed : forwardRunSpeed; } // Jump if (jumpKeyPressed) { motor.Jump(); } // Clear autorun if ((mouseLookDown && (leftKeyDown || rightKeyDown)) || forwardKeyDown || backwardKeyDown || bothMiceDown) { autorun = false; } // If we're moving, rotate camera behind us if (motor.MovementInput != Vector3.zero) { RPGCamera.Instance.RotateCameraBehindTarget = cameraRotateBehindOnMove; } // If we're holding down mouse look, lock camera if (mouseLookDown) { RPGCamera.Instance.LockCameraBehindTarget = cameraLockBehindOnMouseLook; motor.Yaw(Input.GetAxisRaw("Mouse X") * Time.smoothDeltaTime * mouseTurnSpeed); } // If we pressed mouse look, set rotation if (mouseLookPressed) { Camera cam = RPGCamera.Instance.Camera; motor.SetYaw(RPGInputUtils.SignedAngle(Vector3.forward, cam.transform.forward, Vector3.up)); } }
void Update() { forwardRunSpeed = 1f * movespeed; backwardRunSpeed = 1f * movespeed; islock = GetComponent <CameraMovement>().controlLock; motor.MovementInput = Vector3.zero; if (islock) { motor.Yaw(Input.GetAxisRaw("Mouse X") * Time.smoothDeltaTime * mouseTurnSpeed); } bool forwardKeyDown = Input.GetKey(forwardKey); bool backwardKeyDown = Input.GetKey(backwardKey); bool leftKeyDown = Input.GetKey(leftKey); bool rightKeyDown = Input.GetKey(rightKey); bool jumpKeyPressed = Input.GetKeyDown(jumpKey); //bool walkKeyDown = Input.GetKey(walkToggle); bool mouseLookDown = Input.GetMouseButton((int)mouseLookButton) && enableMouseLook; bool mouseLookPressed = Input.GetMouseButtonDown((int)mouseLookButton) && enableMouseLook; bool bothMiceDown = Input.GetMouseButton((int)mouseRunAndLookButton) && mouseLookDown && enableRunAndLook; bool autorunPressed = Input.GetMouseButtonDown((int)autorunToggleButton); //IsRunning = !walkKeyDown; MouseLook = mouseLookDown; //motor.MovementInput.z += Input.GetAxis("Vertical"); //motor.MovementInput.x += Input.GetAxis("Horizontal"); if (autorunPressed) { autorun = !autorun; } if (autorun || forwardKeyDown || bothMiceDown) { motor.MovementInput.z += 1f; } if (backwardKeyDown) { motor.MovementInput.z -= 1f; } if (leftKeyDown) { motor.MovementInput.x -= 1f; } if (rightKeyDown) { motor.MovementInput.x += 1f; } // Set movement speed //if (motor.MovementInput.z < 0) //{ // motor.MovementSpeed = walkKeyDown ? backwardWalkSpeed : backwardRunSpeed; //} //else //{ // motor.MovementSpeed = walkKeyDown ? forwardWalkSpeed : forwardRunSpeed; //} // Jump if (jumpKeyPressed) { motor.Jump(); } // Clear autorun if ((mouseLookDown && (leftKeyDown || rightKeyDown)) || forwardKeyDown || backwardKeyDown || bothMiceDown) { autorun = false; } // If we're moving, rotate camera behind us //if (motor.MovementInput != Vector3.zero) //{ // RPGCamera.Instance.RotateCameraBehindTarget = cameraRotateBehindOnMove; //} // If we're holding down mouse look, lock camera //if (mouseLookDown) //{ //RPGCamera.Instance.LockCameraBehindTarget = cameraLockBehindOnMouseLook; //} // If we pressed mouse look, set rotation //if (mouseLookPressed) //{ // //Camera cam = RPGCamera.Instance.Camera; // motor.SetYaw(RPGInputUtils.SignedAngle(Vector3.forward, cam.transform.forward, Vector3.up)); //} }