public override void OnPreviewGUI(Rect rect, GUIStyle background) { //original preview base.OnPreviewGUI(rect, background); Sprite sprite = target as Sprite; if (sprite == null) { return; } bool isTargetChanged = _oldSprite != sprite; _oldSprite = sprite; if (Selection.objects.Length <= SpriteAssistSettings.Settings.maxThumbnailPreviewCount) { if (isTargetChanged) { string assetPath = AssetDatabase.GetAssetPath(sprite); _dummySprite = SpriteUtil.CreateDummySprite(sprite, assetPath); _textureInfo = new TextureInfo(_dummySprite, assetPath); } SpriteProcessor?.OnPreviewGUI(rect, sprite, _dummySprite, _textureInfo); } }
private void Resize() { foreach (var selectedTarget in _targets) { if (SpriteImportData.TryGetSpriteImportData(selectedTarget, out var importData)) { SpriteUtil.AddAlphaArea(importData.dummySprite, importData.assetPath); } } }
public SpriteImportData(Sprite sprite, string assetPath) { this.sprite = sprite; this.assetPath = assetPath; dummySprite = SpriteUtil.CreateDummySprite(sprite, assetPath); textureImporter = AssetImporter.GetAtPath(this.assetPath) as TextureImporter; textureImporterSettings = new TextureImporterSettings(); textureImporter.ReadTextureSettings(textureImporterSettings); _oldSourceAssetIdentifier = new AssetImporter.SourceAssetIdentifier(typeof(GameObject), Path.GetFileNameWithoutExtension(assetPath)); _newSourceAssetIdentifier = new AssetImporter.SourceAssetIdentifier(typeof(GameObject), MESH_PREFAB_IDENTIFIER); }
public static bool TryGetSpriteImportData(Object obj, out SpriteImportData spriteImportData) { spriteImportData = null; Sprite sprite = SpriteUtil.FindSprite(obj); if (sprite == null) { return(false); } string assetPath = AssetDatabase.GetAssetPath(sprite); TextureImporter textureImporter = AssetImporter.GetAtPath(assetPath) as TextureImporter; if (textureImporter == null) { return(false); } spriteImportData = new SpriteImportData(sprite, textureImporter, assetPath); return(spriteImportData != null); }