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); } } }