private void Resize()
 {
     foreach (var selectedTarget in _targets)
     {
         if (SpriteImportData.TryGetSpriteImportData(selectedTarget, out var importData))
         {
             SpriteUtil.AddAlphaArea(importData.dummySprite, importData.assetPath);
         }
     }
 }
        private void Apply(bool withMeshPrefabProcess = false, bool hasMeshPrefab = false, bool withCopyFromSprite = false)
        {
            if (_targets == null)
            {
                return;
            }

            Undo.RegisterCompleteObjectUndo(_targets, "SpriteAssist Texture");

            _originalUserData = JsonUtility.ToJson(_configData);

            foreach (var selectedTarget in _targets)
            {
                if (SpriteImportData.TryGetSpriteImportData(selectedTarget, out var importData))
                {
                    importData.textureImporter.userData = _originalUserData;

                    if (withMeshPrefabProcess)
                    {
                        SetMeshPrefabContainer(importData, hasMeshPrefab);
                    }

                    UpdateSubAssetsInMeshPrefab(importData);

                    if (withCopyFromSprite)
                    {
                        Sprite rootSprite = AssetDatabase.LoadAllAssetsAtPath(importData.assetPath).FirstOrDefault(obj => obj is Sprite) as Sprite;

                        if (rootSprite != null)
                        {
                            importData.textureImporter.spritePixelsPerUnit = rootSprite.pixelsPerUnit;
                            importData.textureImporter.spritePivot         = rootSprite.GetNormalizedPivot();
                        }
                    }

                    EditorUtility.SetDirty(importData.textureImporter);
                    AssetDatabase.WriteImportSettingsIfDirty(importData.textureImporter.assetPath);
                    importData.textureImporter.SaveAndReimport();
                }
            }

            AssetDatabase.SaveAssets();

            _isDataChanged = false;
        }