Example #1
0
    static public void SetCornerDistanceExt(this Cover cover, float desiredDistance, float testedCollisionDistance)
    {
        if (cover.TestFlags(Cover.E_CoverFlags.RightStand) || cover.TestFlags(Cover.E_CoverFlags.RightCrouch))
        {
            float rightDistance = cover.GetCornerDistanceExt(true, testedCollisionDistance);

            if (rightDistance >= 0)
            {
                // align right corner
                cover.AlignCornersExt(0, rightDistance - desiredDistance);
            }
        }
        // without else

        if (cover.TestFlags(Cover.E_CoverFlags.LeftStand) || cover.TestFlags(Cover.E_CoverFlags.LeftCrouch))
        {
            float leftDistance = cover.GetCornerDistanceExt(false, testedCollisionDistance);

            if (leftDistance >= 0)
            {
                // align left corner
                cover.AlignCornersExt(leftDistance - desiredDistance, 0);
            }
        }
    }