private void E2_ApplyForceDown() { if (!E_FacingRight) { E_RigidBody.AddRelativeForce(new Vector2(-E2_JumpForce.x * 0.1f, -E2_JumpForce.y * 0.1f)); } else { E_RigidBody.AddRelativeForce(new Vector2(E2_JumpForce.x * 0.1f, -E2_JumpForce.y * 0.1f)); } }
private void E2_Jump() { bool E2_IsGrounded = Physics2D.Linecast(E_LineCastPos, E_LineCastPos + Vector3.down * 0.5f, E_LayerMask); bool E2_IsBlocked = Physics2D.Linecast(E_LineCastPos, E_LineCastPos - E_Transform.right * 2.0f, E_LayerMask); if (!E2_IsGrounded || E2_IsBlocked) { //Debug.Log("No Ground"); E2_ApplyForceDown(); } if (Time.time > E2_NextJump) { E2_NextJump = Time.time + E2_JumpRate; //Debug.Log("Grounded " + E2_IsGrounded); //Debug.Log("Blocked " + E2_IsBlocked); //Debug.Log("Attempting to Jump"); if (E2_JumpRate > 0) { //Debug.Log("Blocked " + E_IsBlocked); if (E_FacingRight && E2_IsGrounded && !E2_IsBlocked) { //Debug.Log("Jumping"); E_RigidBody.AddForce(E2_JumpForce); } else if (!E_FacingRight && E2_IsGrounded && !E2_IsBlocked) { E_RigidBody.AddForce(new Vector2(-E2_JumpForce.x, E2_JumpForce.y)); } } } }