private void SprintManager() { bool wantToSprint = false; if (keySprintHold.GetKey()) { wantToSprint = true; } if (keySprintHold.GetKeyUp()) { wantToSprint = false; } if (keySprintToggle.GetKeyDown()) { wantToSprint = !wasSprinting; } if (wantToSprint && gotMoveInput && !isCrouching) { isSprinting = true; } else { isSprinting = false; } wasSprinting = isSprinting; }
void Update() { //debug if (Input.GetKeyDown(KeyCode.Mouse1)) { rb.velocity += head.transform.forward * 50f; } if (Input.GetKeyDown(KeyCode.Q)) { if (Time.timeScale < 1f) { Time.timeScale = 1f; } else { Time.timeScale = 0.05f; } } if (Input.GetKeyDown(KeyCode.P)) { EditorApplication.isPaused = !EditorApplication.isPaused; } //not debug if (!paused) { view.ExecuteUpdate(new PlayerViewNEW.ViewInput(GetLookInput(), keyInteract.GetKeyDown(), keyPrimaryFire.GetKeyDown())); ManageToggleAndHoldInput(ref isCrouching, keyCrouchHold, keyCrouchToggle); ManageToggleAndHoldInput(ref isSprinting, keySprintHold, keySprintToggle); movement.ExecuteUpdate(); } }
void Update() { if (Time.timeScale > 0f) { MouseLook(); if (Input.GetKeyDown(KeyCode.Mouse0)) { Cursor.lockState = CursorLockMode.Locked; } if (keyInteract.GetKeyDown()) { if (grabbedObject == null) { TryToInteract(); } else { DropGrabbedObject(false); } } if (keyPrimaryFire.GetKeyDown()) { if (grabbedObject != null) { DropGrabbedObject(true); } } if (keyToggleGUI.GetKeyDown()) { gui.toggleGUI(); } } }
private void CrouchManager() { bool isGoingToCrouch = wasCrouching; if (keyCrouchHold.GetKey()) { isGoingToCrouch = true; } if (keyCrouchHold.GetKeyUp()) { isGoingToCrouch = false; } if (keyCrouchToggle.GetKeyDown()) { isGoingToCrouch = !wasCrouching; } if (!isGoingToCrouch && wasCrouching) { Vector3 rayOrigin = transform.position + (Vector3.up * col.height / 2f); float rayLength = normalHeight - (col.height / 2f); RaycastHit hit; if (Physics.Raycast(rayOrigin, Vector3.up, out hit, rayLength, layermaskPlayer)) { if (hit.collider.gameObject.layer != layerWater) { isGoingToCrouch = true; Debug.LogWarning("crouchcast hit " + hit.collider.name + ", layer " + LayerMask.LayerToName(hit.collider.gameObject.layer)); } } } isCrouching = isGoingToCrouch; if (isCrouching && col.height > crouchHeight) { col.height = crouchHeight; col.center = new Vector3(0f, crouchHeight / 2f, 0f); head.transform.localPosition = new Vector3(0f, crouchEyeLevel, 0f); waterTrigger.transform.localPosition = new Vector3(0f, crouchWaterTriggerPos, 0f); if (!isGrounded) { transform.position = transform.position + (Vector3.up * (normalHeight - crouchHeight) / 2f); } } if (!isCrouching && col.height < normalHeight) { col.height = normalHeight; col.center = new Vector3(0f, normalHeight / 2f, 0f); head.transform.localPosition = new Vector3(0f, normalEyeLevel, 0f); waterTrigger.transform.localPosition = new Vector3(0f, normalWaterTriggerPos, 0f); if (!isGrounded) { transform.position = transform.position + (Vector3.down * (normalHeight - crouchHeight) / 2f); } } wasCrouching = isCrouching; }
void Update() { if (keyPrimaryFire.GetKeyDown()) { } if (keySecondaryFire.GetKeyDown()) { } if (keyToggleFlashlight.GetKeyDown()) { flashLight.SetActive(!flashLight.activeSelf); } }
//utility void ManageToggleAndHoldInput(ref bool value, DoubleKey keyHold, DoubleKey keyToggle) { if (keyHold.GetKey()) { value = true; } if (keyHold.GetKeyUp()) { value = false; } if (keyToggle.GetKeyDown()) { value = !value; } }