public void Update() { if (Input.GetKey(KeyCode.A)) { playerMovement.MoveHorizontal(-1); } else if (Input.GetKey(KeyCode.D)) { playerMovement.MoveHorizontal(1); } else { playerMovement.MoveHorizontal(0); } playerMovement.ApplyGravity(); if (Input.GetKey(KeyCode.Space)) { playerMovement.Jump(); } if (Input.GetKeyDown(KeyCode.R)) { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } if (Input.GetMouseButton(0)) { // grab or throw if (plag.GrabbedObject && !playerMovement.OnLadder) { plag.PredictTrajectory(); } else if (!playerMovement.OnLadder) { plag.Grab(); } } else if (Input.GetMouseButtonUp(0) && plag.GrabbedObject) { plag.Throw(); } else if (Input.GetMouseButton(1)) { if (plag.GrabbedObject) { plag.Drop(); } } var info = plat.Move(playerMovement.velocity * Time.deltaTime); if (!info.climbingSlope) { if (info.bottom || info.top) { playerMovement.velocity.y = 0; } if (info.left || info.right) { playerMovement.velocity.x = 0; } } playerMovement.MoveAnimation(info.velocity); }
void Update() { if (plat.Grounded) { anim.SetInteger("jump", 0); if (fuel < 100) { fuel += FUEL_RECHARGE_RATE * Time.deltaTime; pls.PlayJetpackRefillingSound(); if (fuel > 100) { pls.PlayJetpackRefilledSound(); pls.PauseJetpackRefillingSound(); fuel = 100; } } flytimer = Time.time; } else { pls.PauseJetpackRefillingSound(); canfly = Time.time > flytimer + 0.2f; } if (Input.GetKeyUp(KeyCode.Space)) { pls.PauseJetpackUsingSound(); jetpackParticle.Stop(); } if (InWater) { anim.SetInteger("inwater", 1); } else { anim.SetInteger("inwater", 0); } if (plat.Grounded != oldGrounded) { if (plat.Grounded && oldVelocity.y < -2f) { pls.PlayLandSound(); var p = Instantiate(landParticle, new Vector3( walkParticlePosition.position.x, walkParticlePosition.position.y + 0.2f, walkParticlePosition.position.z), Quaternion.identity); } } oldGrounded = plat.Grounded; oldVelocity = velocity; var cols = Physics2D.BoxCastAll(transform.position, new Vector2(1, 1), 0, Vector2.zero); foreach (var col in cols) { if (col.transform.tag == "Ladder" && !OnLadder && (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.W))) { //Get on the ladder onLadderObject = col.transform.GetComponent <Ladder>(); OnLadder = true; var pos = transform.position; pos.x = onLadderObject.transform.position.x + (onLadderObject.Side == Ladder.LadderSide.RIGHT ? Ladder.LADDER_WIDTH : 0); transform.position = pos; var scale = transform.localScale; scale.x = onLadderObject.Side == Ladder.LadderSide.RIGHT ? -1 : 1; transform.localScale = scale; anim.SetBool("onladder", true); plygrab.Drop(); } } }