private bool MatchFilter(Sprite sprite) { if (!MatchSearch(sprite.name)) { return(false); } if (currentFilter.HasFlag(Filter.WithSizeWarnings)) { return(false); } if (currentFilter.HasFlag(Filter.UsedInOneScene)) { return(false); } if (currentFilter.HasFlag(Filter.UsedBiggerThanSpriteSize)) { return(false); } if (currentFilter.HasFlag(Filter.UsedSmallerThanSpriteSize)) { return(false); } if (currentFilter.HasFlag(Filter.UsedInMoreThanOneScene)) { return(false); } if (currentFilter.HasFlag(Filter.InsideAnyAtlas)) { if (AtlasCacheUtility.TryGetAtlasForSprite(sprite, out SpriteAtlas atlas)) { return(true); } return(false); } return(true); }
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; } }