public void PlayerJump() { if (isWallSliding) { if (canPlayerWallJump) { Vector2 newWallClimbVec = ReturnWallJumpVelocity(playerInputDirection, wallDirectionX); playerVelocity = newWallClimbVec; playerAnimation.SetTrigger("isJump"); } } else if (playerCollision.collisionData.isCollidingBelow) { if (canPlayerJump) { if (playerCollision.collisionData.isSlidingDownSlope) { if (playerInputDirection.x != -Mathf.Sign(playerCollision.collisionData.slopeNormal.x)) { playerVelocity.y = playerMaxJumpVelocity.y * playerCollision.collisionData.slopeNormal.y; playerVelocity.x = playerMaxJumpVelocity.y * playerCollision.collisionData.slopeNormal.x; playerAnimation.SetTrigger("isJump"); } } else { CalculateJumpVelocity(); playerVelocity.y = playerMaxJumpVelocity.y; playerAnimation.SetTrigger("isJump"); } } } }
public void PlayerJump() { if (isWallSliding) { if (wallDirectionX == playerInputDirection.x) { Vector2 wallClimb = Vector2.zero; wallClimb.x = -wallDirectionX * playerWallClimbAttributes.wallJumpClimb.x; wallClimb.y = playerWallClimbAttributes.wallJumpClimb.y; playerVelocity.x = -wallDirectionX * playerWallClimbAttributes.wallJumpClimb.x; playerVelocity.y = playerWallClimbAttributes.wallJumpClimb.y; playerAnimation.SetTrigger("isWallJump"); } else if (playerInputDirection.x == 0) { Vector2 wallClimb = Vector2.zero; wallClimb.x = -wallDirectionX * playerWallClimbAttributes.wallJumpOff.x; wallClimb.y = playerWallClimbAttributes.wallJumpOff.y; playerVelocity.x = -wallDirectionX * playerWallClimbAttributes.wallJumpOff.x; playerVelocity.y = playerWallClimbAttributes.wallJumpOff.y; playerAnimation.SetTrigger("isWallJump"); } else { Vector2 wallClimb = Vector2.zero; wallClimb.x = -wallDirectionX * playerWallClimbAttributes.wallJumpLeap.x; wallClimb.y = playerWallClimbAttributes.wallJumpLeap.y; playerVelocity.x = -wallDirectionX * playerWallClimbAttributes.wallJumpLeap.x; playerVelocity.y = playerWallClimbAttributes.wallJumpLeap.y; playerAnimation.SetTrigger("isWallJump"); } } else if (playerCollision.collisionData.isCollidingBelow) { if (playerCollision.collisionData.isSlidingDownSlope) { if (playerInputDirection.x != -Mathf.Sign(playerCollision.collisionData.slopeNormal.x)) { playerVelocity.y = playerMaxJumpVelocity.y * playerCollision.collisionData.slopeNormal.y; playerVelocity.x = playerMaxJumpVelocity.y * playerCollision.collisionData.slopeNormal.x; playerAnimation.SetTrigger("isJump"); } } else { CalculateJumpVelocity(); playerVelocity.y = playerMaxJumpVelocity.y; playerAnimation.SetTrigger("isJump"); playerAudio.RequestAudioEvent("jumpSFX"); } } }