예제 #1
0
	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));
		}
	}
예제 #2
0
	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));
				}


			}
		}


	}