public void CheckForSizeFlags() { if (!maximumUsageSize.HasValue) { return; } spriteUsageFlags &= ~SpriteUsageFlags.UsedSmallerThanSpriteRect; spriteUsageFlags &= ~SpriteUsageFlags.UsedBiggerThanSpriteRect; Vector3 sizeDifference = new Vector3(maximumUsageSize.Value.x - SpriteSize.x, maximumUsageSize.Value.y - SpriteSize.y, 0); float differenceMagnitude = sizeDifference.magnitude / SpriteSize.magnitude; if (Mathf.Abs(differenceMagnitude) > SpriteAuditorUtility.SpriteUsageSizeThreshold) { if (maximumUsageSize.Value.sqrMagnitude > SpriteSize.sqrMagnitude) { if (SpriteAuditorUtility.CanTweakMaxSize(this)) { spriteUsageFlags |= SpriteUsageFlags.UsedBiggerThanSpriteRect; } } else { if (SpriteAuditorUtility.CanTweakMaxSize(this)) { spriteUsageFlags |= SpriteUsageFlags.UsedSmallerThanSpriteRect; } } } }