Example #1
0
    public FSM.State OnDashUpdate(float delta)
    {
        int dirX = (int)InputManager.Direction.x;

        dashTime -= delta;
        Movement.ApplyMotion(dashDirection);

        if (-1 * dirX == dashDirection)
        {
            return(STATE_IDLE);
        }

        if (dashTime <= 0)
        {
            dashTime = 0;
            return(STATE_IDLE);
        }

        if (InputManager.JumpPressed)
        {
            return(STATE_JUMP);
        }

        return(STATE_DASH);
    }
Example #2
0
    public FSM.State OnJumpUpdate(float delta)
    {
        Vector2 direction = InputManager.Direction;

        Movement.ApplyMotion(direction.x, direction.y);

        if (!InputManager.JumpPressed)
        {
            jumpReleased = true;
        }

        if (jumpReleased)
        {
            Movement.CapJumpSpeed();
        }

        if (Movement.IsFalling())
        {
            return(STATE_FALL);
        }

        if (Movement.IsGrounded)
        {
            return(STATE_IDLE);
        }

        return(STATE_JUMP);
    }
Example #3
0
    public FSM.State OnRunUpdate(float delta)
    {
        Vector2 direction = InputManager.Direction;

        Movement.ApplyMotion(direction.x, direction.y);

        if (InputManager.JumpPressed)
        {
            return(STATE_JUMP);
        }

        if (direction.x == 0)
        {
            return(STATE_IDLE);
        }

        if (Movement.IsFalling())
        {
            return(STATE_FALL);
        }

        if (InputManager.DashPressed)
        {
            return(STATE_DASH);
        }

        return(STATE_RUN);
    }
Example #4
0
    public FSM.State OnWalkingUpdate(float delta)
    {
        if (frontRay.IsColliding())
        {
            Movement.Horizontal *= -1;
        }

        Movement.ApplyMotion(Movement.Horizontal);
        Move(delta);

        return(STATE_WALKING);
    }
    protected FSM.State OnMovingUpdate(float delta)
    {
        if (Movement.IsGrounded && HasObstacleOrVoid())
        {
            return(STATE_TURNING);
        }

        Movement.ApplyMotion(Movement.Horizontal);
        Move(delta);

        return(STATE_MOVING);
    }
Example #6
0
    public FSM.State OnFallUpdate(float delta)
    {
        Vector2 direction = InputManager.Direction;

        Movement.ApplyMotion(direction.x, direction.y);

        if (Movement.IsGrounded)
        {
            MoonHunter.Instance.AddMovementDust(feetPosition.GlobalPosition);
            return(STATE_IDLE);
        }

        return(STATE_FALL);
    }
Example #7
0
    protected FSM.State OnMovingUpdate(float delta)
    {
        if (Movement.IsGrounded && !CanMove())
        {
            Turn();
        }

        movingTimeLeft -= delta;
        if (movingTimeLeft < 0)
        {
            return(STATE_SHOOTING);
        }

        Movement.ApplyMotion(Movement.Horizontal);
        Move(delta);

        return(STATE_MOVING);
    }
Example #8
0
 protected void StopCar()
 {
     SetMovementOrientation(0);
     Movement.ApplyMotion(0);
 }
 protected void OnTurningExit()
 {
     Movement.Horizontal *= -1;
     Movement.ApplyMotion(Movement.Horizontal);
     Move(0.001f);
 }