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; } } } }
private void ReportScene(Scene scene) { if (scene.buildIndex == -1 || string.IsNullOrEmpty(scene.path)) { spriteUsageFlags |= SpriteUsageFlags.UsedOnDontDestroyOrUnknowScene; } else { if (scenesPath.Add(scene.path)) { SpriteAuditorUtility.SetResultViewDirty(); } } }
public SpriteData(Sprite targetSprite) { cachedSprite = targetSprite; spriteName = cachedSprite.name; spriteTexturePath = AssetDatabase.GetAssetPath(cachedSprite); spriteTextureGUID = AssetDatabase.AssetPathToGUID(spriteTexturePath); if (string.Equals(spriteTexturePath, RESOURCES_UNITY_BUILTIN_EXTRA_PATH)) { spriteUsageFlags |= SpriteUsageFlags.DefaultUnityAsset; return; } CheckAtlasData(); }
private void ReportSize(Vector3?size) { if (!size.HasValue) { spriteUsageFlags |= SpriteUsageFlags.CantDiscoveryAllUsageSize; return; } if (firstSizeReport || !maximumUsageSize.HasValue || size.Value.sqrMagnitude > maximumUsageSize.Value.sqrMagnitude) { maximumUsageSize = size; CheckForSizeFlags(); firstSizeReport = false; } }
public SpriteData(Sprite targetSprite) { cachedSprite = targetSprite; spriteName = cachedSprite.name; spriteTexturePath = AssetDatabase.GetAssetPath(cachedSprite); spriteTextureGUID = AssetDatabase.AssetPathToGUID(spriteTexturePath); if (string.Equals(spriteTexturePath, RESOURCES_UNITY_BUILTIN_EXTRA_PATH)) { spriteUsageFlags |= SpriteUsageFlags.DefaultUnityAsset; return; } if (AtlasCacheUtility.TryGetAtlasForSprite(cachedSprite, out SpriteAtlas spriteAtlas)) { cachedSpriteAtlas = spriteAtlas; spriteAtlasGUID = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(spriteAtlas)); if (AtlasCacheUtility.TryGetAtlasScale(spriteAtlas, out atlasScale)) { spriteUsageFlags |= SpriteUsageFlags.UsingScaledAtlasSize; } } }
public void CheckAtlasData() { if (Sprite == null) { return; } cachedSpriteAtlas = null; spriteUsageFlags &= ~SpriteUsageFlags.UsingScaledAtlasSize; if (AtlasCacheUtility.TryGetAtlasForSprite(cachedSprite, out SpriteAtlas spriteAtlas)) { cachedSpriteAtlas = spriteAtlas; atlasScale = spriteAtlas.GetVariantScale(); if (atlasScale != 1.0f) { spriteUsageFlags |= SpriteUsageFlags.UsingScaledAtlasSize; } } else { cachedSpriteAtlas = null; } }