private void ExtractTextures()
        {
            try {
                // pause asset database refreshing
                AssetDatabase.StartAssetEditing();

                foreach (var texture in _sourceContainer.Textures)
                {
                    texture.WriteAsAsset(_assetsTextures, _options.SkipExistingTextures);
                }
            } finally {
                // resume asset database refreshing
                AssetDatabase.StopAssetEditing();
                AssetDatabase.Refresh();
            }

            // now they are in the asset database, we can load them.
            foreach (var texture in _sourceContainer.Textures)
            {
                var path         = texture.GetUnityFilename(_assetsTextures, texture.IsWebp ? ".png" : null);
                var unityTexture = texture.IsHdr
                                        ? (Texture)AssetDatabase.LoadAssetAtPath <Cubemap>(path) ?? AssetDatabase.LoadAssetAtPath <Texture2D>(path)
                                        : AssetDatabase.LoadAssetAtPath <Texture2D>(path);
                _textures[texture.Name.ToLower()] = unityTexture;
                var legacyTexture = new LegacyTexture(texture.Data, unityTexture);
                if (texture.IsWebp)
                {
                    legacyTexture.OriginalPath = texture.GetUnityFilename(_assetsTextures);
                }
                _tableComponent.LegacyContainer.Textures.Add(legacyTexture);
            }
        }
 public ImageListData(LegacyTexture legacyTexture, bool inUse)
 {
     LegacyTexture = legacyTexture;
     InUse         = inUse;
 }