Ejemplo n.º 1
0
    void WallJump()
    {
        Debug.Log("Walljump");
        Vector3 walljumpWay = Vector3.right;

        walljumpWay.y = Mathf.Tan(LastWallAngle - 180);
        walljumpWay.Normalize();
        walljumpWay  *= wallJumpForce.x;
        walljumpWay.y = wallJumpForce.y;


        MoveForce f = new MoveForce(walljumpWay, wallJumpGravity, wallJumpTime, 0.1f);

        forces.Add(f);
        wallClimb = ClimbState.Jumping;
    }
Ejemplo n.º 2
0
    void Dive()
    {
        if (Input.GetAxisRaw("Dive") == 1)
        {
            if (isDiving)
            {
                return;
            }
        }
        else
        {
            if (isGrounded)
            {
                isDiving = false;
            }
            return;
        }
        Debug.Log("Dive");
        isDiving = true;

        Vector3 forward = transform.forward;

        Vector3 force   = forward.normalized;
        Vector3 gravity = forward.normalized;

        force.x *= DiveSpeed.x;
        force.z *= DiveSpeed.x;
        force.y  = DiveSpeed.y;

        gravity.x *= DiveGravity.x;
        gravity.z *= DiveGravity.x;
        gravity.y  = DiveGravity.y;

        currentDive = new MoveForce(force, gravity, DiveTime, 0.5f, 0);

        forces.Add(currentDive);
    }