Ejemplo n.º 1
0
    public void Jump()
    {
        if (!AllowJumping)
        {
            return;
        }

        if (Time.time < _lastJump + JumpLockout)
        {
            return;
        }

        if (MovementType != SidescrollingMovementType.Grounded &&
            RemainingJumps == 0)
        {
            DebugMessage("The player is airborne, and unable to make any additional jumps.");
            return;
        }

        DebugMessage("The character has made a jump!");

        _isMovingThisFrame = true;
        _lastJump          = Time.time;
        RemainingJumps--;
        MovementType       = SidescrollingMovementType.Jumping;
        _currentVelocity.y = JumpVelocity;
    }
    private void CheckIfHitHead()
    {
        if (MovementType != SidescrollingMovementType.Jumping)
        {
            return;
        }

        if (!HitHead)
        {
            return;
        }

        MovementType       = SidescrollingMovementType.Falling;
        _currentVelocity.y = 0;
    }
Ejemplo n.º 3
0
    private void CheckIfHitHead()
    {
        if (MovementType != SidescrollingMovementType.Jumping)
        {
            return;
        }

        if (!HitHead)
        {
            return;
        }

        DebugMessage("The top of the player has collided with something.  The player is now falling.");
        MovementType       = SidescrollingMovementType.Falling;
        _currentVelocity.y = 0;
    }
    private void CheckIfGrounded()
    {
        if (MovementType == SidescrollingMovementType.Grounded ||
            MovementType == SidescrollingMovementType.Jumping)
        {
            return;
        }

        if (!_controller.isGrounded)
        {
            return;
        }

        // Upon becoming grounded, refresh the total number of jumps.
        RemainingJumps     = MaximumAllowedJumps;
        MovementType       = SidescrollingMovementType.Grounded;
        _currentVelocity.y = 0;
    }
Ejemplo n.º 5
0
    private void CheckIfGrounded()
    {
        if (MovementType == SidescrollingMovementType.Grounded ||
            MovementType == SidescrollingMovementType.Jumping)
        {
            return;
        }

        if (!_controller.isGrounded)
        {
            return;
        }

        // Upon becoming grounded, refresh the total number of jumps.
        DebugMessage("The player has hit the ground.  The player is no longer falling or jumping.");
        RemainingJumps     = MaximumAllowedJumps;
        MovementType       = SidescrollingMovementType.Grounded;
        _currentVelocity.y = 0;
    }
    private void CheckIfFalling()
    {
        if (MovementType == SidescrollingMovementType.Falling)
        {
            return;
        }

        if (!_controller.isGrounded &&
            MovementType == SidescrollingMovementType.Grounded)
        {
            MovementType = SidescrollingMovementType.Falling;
            return;
        }

        if (Mathf.Abs(_frameVelocity.y - 0.0f) < _haltFallingEpsilon &&
            MovementType == SidescrollingMovementType.Jumping)
        {
            MovementType = SidescrollingMovementType.Falling;
        }
    }
Ejemplo n.º 7
0
    private void CheckIfFalling()
    {
        if (MovementType == SidescrollingMovementType.Falling)
        {
            return;
        }

        if (!_controller.isGrounded &&
            MovementType == SidescrollingMovementType.Grounded)
        {
            DebugMessage("The player's move type is Grounded, but the controller isn't grounded.  The player is now falling.");
            MovementType = SidescrollingMovementType.Falling;
            return;
        }

        if (Mathf.Abs(_frameVelocity.y - 0.0f) < _haltFallingEpsilon &&
            MovementType == SidescrollingMovementType.Jumping)
        {
            DebugMessage("The players' vertical velocity has halted.  The player is now falling.");
            MovementType = SidescrollingMovementType.Falling;
        }
    }
Ejemplo n.º 8
0
 public void HaltJump()
 {
     MovementType       = SidescrollingMovementType.Falling;
     _currentVelocity.y = Mathf.Abs(Physics.gravity.y);
 }
 public void TakeDamage(int damage)
 {
     MovementType = SidescrollingMovementType.Hit;
 }
	private void CheckIfFalling()
	{
		if(MovementType == SidescrollingMovementType.Falling)
			return;

		if(! _controller.isGrounded
		   && MovementType == SidescrollingMovementType.Grounded)
		{
			DebugMessage("The player's move type is Grounded, but the controller isn't grounded.  The player is now falling.");
			MovementType = SidescrollingMovementType.Falling;
			return;
		}

		if(Mathf.Abs(_frameVelocity.y - 0.0f) < _haltFallingEpsilon
		   && MovementType == SidescrollingMovementType.Jumping)
		{
			DebugMessage("The players' vertical velocity has halted.  The player is now falling.");
			MovementType = SidescrollingMovementType.Falling;
		}
	}
	private void CheckIfHitHead()
	{
		if(MovementType != SidescrollingMovementType.Jumping)
			return;

		if(! HitHead)
			return;

		DebugMessage("The top of the player has collided with something.  The player is now falling.");
		MovementType = SidescrollingMovementType.Falling;
		_currentVelocity.y = 0;
	}
	private void CheckIfGrounded()
	{
		if(MovementType == SidescrollingMovementType.Grounded
		   || MovementType == SidescrollingMovementType.Jumping)
			return;

		if(! _controller.isGrounded)
			return;

		// Upon becoming grounded, refresh the total number of jumps.
		DebugMessage("The player has hit the ground.  The player is no longer falling or jumping.");
		RemainingJumps = MaximumAllowedJumps;
		MovementType = SidescrollingMovementType.Grounded;
		_currentVelocity.y = 0;
	}
	public void HaltJump()
	{
		MovementType = SidescrollingMovementType.Falling;
		_currentVelocity.y = Mathf.Abs(Physics.gravity.y);
	}
	public void Jump()
	{
		if(!AllowJumping)
			return;

		if(Time.time < _lastJump + JumpLockout)
			return;

		if(MovementType != SidescrollingMovementType.Grounded
		   && RemainingJumps == 0)
		{
			DebugMessage("The player is airborne, and unable to make any additional jumps.");
			return;
		}

		DebugMessage("The character has made a jump!");

		_isMovingThisFrame = true;
		_lastJump = Time.time;
		RemainingJumps--;
		MovementType = SidescrollingMovementType.Jumping;
		_currentVelocity.y = JumpVelocity;
	}