protected virtual InteractablePlayerInput PlayerInputCheck(GameObject playerObject) { Player p = playerObject.GetComponent <Player>(); PlayerButtonPressed useInput = p.GetUsePressed();; return(new InteractablePlayerInput(useInput.pressed || autoPress == true, useInput.held || autoPress == true)); }
public PlayerButtonPressed GetUsePressed() { string button = GetUseKey(); PlayerButtonPressed pressed = new PlayerButtonPressed(); pressed.held = false; pressed.pressed = false; if (button.Equals("")) { return(pressed); } pressed.held = Input.GetButton(button); pressed.pressed = Input.GetButtonDown(button); return(pressed); }
// Update is called once per frame void Update() { if (mouthTransform != null) { Vector3 scale = mouthTransform.transform.localScale; mouthTransform.transform.localScale = new Vector3(scale.x, scale.y, Mathf.Cos(Time.time * 8) * 0.1f); } if (cube != null) { CorrectPosition(); CorrectAngle(3); float movement = GetRightValue(); if (movement > 0) { MoveRight(movement); } else if (movement < 0) { MoveLeft(-movement); } PlayerButtonPressed jumpInput = GetJumpPressed(); if (jumpInput.pressed) { Jump(); } } if (IsGrounded()) { if (jumping) { jumping = false; CorrectAngle(180); } RaycastHit hit = GetGroundedHit(); if (hit.collider != null) { Vector3 normal = new Vector3(hit.normal.x, 0, hit.normal.z); CorrectAngle(180, normal); } } else { float height = transform.position.y; if (jumping) { if (height > lastJumpHeight) { float diffHeight = (jumpHeight + maxJump) - height; rb.velocity = new Vector3(rb.velocity.x, diffHeight * 0.2f / Time.deltaTime, rb.velocity.z); if (diffHeight < 0.1f || rb.velocity.y <= 0.1f) { jumping = false; } } } else { if (GroundedTo(0.8f) == null) { rb.velocity = new Vector3(rb.velocity.x, rb.velocity.y - (40 * Time.deltaTime), rb.velocity.z); } } lastJumpHeight = height; } }