public void UpdateDesiredTargetSpeed(Vector2 input, InputProviderBase inputProvider) { if (input == Vector2.zero) { return; } if (input.x > 0 || input.x < 0) { //strafe CurrentTargetSpeed = StrafeSpeed; } if (input.y < 0) { //backwards CurrentTargetSpeed = BackwardSpeed; } if (input.y > 0) { //forwards //handled last as if strafing and moving forward at the same time forwards speed should take precedence CurrentTargetSpeed = ForwardSpeed; } #if !MOBILE_INPUT if (inputProvider.Controls.Run) { CurrentTargetSpeed *= RunMultiplier; m_Running = true; } else { m_Running = false; } #endif }
void Start() { trans = GetComponent <Transform>(); inputProvider = GetComponent <InputProviderBase>(); collider = GetComponent <Collider>(); rigid = GetComponent <Rigidbody>(); Transform model = trans.FindChild("Model"); anim = model.GetComponent <Animator>(); disintegrator = model.GetComponentInChildren <SphericalDisintegration>(); if (!isLocalPlayer && !FakeLocalPlayer) { Destroy(GetComponent <RigidbodyFirstPersonController>()); Destroy(Cam.GetComponent <AudioListener>()); Destroy(Cam.GetComponent <FlareLayer>()); Destroy(Cam.GetComponent <Camera>()); } else { if (isLocalPlayer) { gameObject.tag = "Player1"; } firstPersonController = GetComponent <RigidbodyFirstPersonController>(); Recordings = new List <ControlsFrame> [3]; } playerModel = model.gameObject; if (isLocalPlayer) { playerModel.SetActive(false); } }
public void LookRotation(Transform character, Transform camera, InputProviderBase inputProvider) { float yRot = inputProvider.Controls.MouseX * XSensitivity; float xRot = inputProvider.Controls.MouseY * YSensitivity; m_CharacterTargetRot *= Quaternion.Euler(0f, yRot, 0f); m_CameraTargetRot *= Quaternion.Euler(-xRot, 0f, 0f); if (clampVerticalRotation) { m_CameraTargetRot = ClampRotationAroundXAxis(m_CameraTargetRot); } if (smooth) { character.localRotation = Quaternion.Slerp(character.localRotation, m_CharacterTargetRot, smoothTime * Time.deltaTime); camera.localRotation = Quaternion.Slerp(camera.localRotation, m_CameraTargetRot, smoothTime * Time.deltaTime); } else { character.localRotation = m_CharacterTargetRot; camera.localRotation = m_CameraTargetRot; } UpdateCursorLock(); }
private void Start() { m_CamTransform = cam.transform; m_RigidBody = GetComponent <Rigidbody>(); m_Capsule = GetComponent <CapsuleCollider>(); inputProvider = GetComponent <InputProviderBase>(); mouseLook.Init(transform, m_CamTransform); }