internal void PrepareJump(Jumpstate jumpstate) { switch (jumpstate) { case Jumpstate.normal: jumpHeight = standardJumpHeight; break; case Jumpstate.boosted: jumpHeight = standardJumpHeight + jumpBoost; break; case Jumpstate.spring: jumpHeight = standardJumpHeight + (jumpBoost * 2f); break; case Jumpstate.swimming: jumpHeight = swimJumpHeight; break; } myRigidbody.gravityScale = isSwimming ? swimJumpGravity : jumpGravity; myAnimator.SetTrigger("Jump"); startY = transform.position.y; jump = true; }
void Update() { MovementInput.x = Input.GetAxisRaw("Horizontal"); MovementInput.y = Input.GetAxisRaw("Vertical"); if (Input.GetKey(KeyCode.W)) { jumpstate = Jumpstate.Jumping; } if (jumpstate == Jumpstate.Jumping) { JumpHeight = MovementInput.y += JumpHeight; jumpstate = Jumpstate.Waiting_for_Jump; } }
void Start() { rb = GetComponent <Rigidbody2D>(); jumpstate = Jumpstate.Waiting_for_Jump; }