using System.Collections; using System.Collections.Generic; using UnityEngine; public class Movement : MonoBehaviour { public float speed = 5.0f; public float turnSpeed; public float sprintSpeed = 10.0f; public float jumpForce; public float gravity = 9.8f; public PickUpObject throwForce; private CharacterController controller; private Vector3 moveDirection = Vector3.zero; void Start() { controller = GetComponent(); } void Update() { if (controller.isGrounded) { // Change the direction the player is facing based on the direction they are moving if (Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0) { Quaternion ToRotation = Quaternion.LookRotation(new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"))); throwForce.throwForce = 7.5f; transform.rotation = Quaternion.RotateTowards(transform.rotation, ToRotation, turnSpeed * Time.deltaTime); } moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); if (Input.GetKey(KeyCode.LeftShift)) { moveDirection *= sprintSpeed; jumpForce = 4.0f; if(Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0) { throwForce.throwForce = 20.0f; } else { throwForce.throwForce = 5.0f; } } else { moveDirection *= speed; jumpForce = 2.5f; } if (Input.GetButton("Jump")) { moveDirection.y = jumpForce; } } moveDirection.y -= gravity * Time.deltaTime; controller.Move(moveDirection * Time.deltaTime); } }