EditorUtility.SaveFolderPanelstatic function SaveFolderPanel (title : string, folder : string, defaultName : string) : stringDescriptionDisplays the "save folder" dialog and returns the selected path name. See Also: SaveFilePanel, OpenFilePanel functions. // Opens a directory selection dialog for saving PNG files
// and saves all selected textures to the file. import System.IO; @MenuItem("Assets/Save Textures to directory") static function Apply () { var textures = Selection.GetFiltered( Texture2D, SelectionMode.Unfiltered); if (textures.Length == 0) { EditorUtility.DisplayDialog("Select Textures", "The selection must contain at least one texture!", "Ok"); return; } var path = EditorUtility.SaveFolderPanel("Save textures to drirectory", "", ""); if (path.Length != 0) { for( var texture : Texture2D in textures) { var name = texture.name; // Convert the texture to a format compatible with EncodeToPNG if ( texture.format != TextureFormat.ARGB32 && texture.format != TextureFormat.RGB24 ) { var newTexture = Texture2D(texture.width, texture.height); newTexture.SetPixels(texture.GetPixels(0),0); texture = newTexture; } var pngData = texture.EncodeToPNG(); if (pngData != null ) { Debug.Log("Writing texture to "+path+"/"+ name + ".png"); File.WriteAllBytes(path+"/"+ name + ".png", pngData); } else { Debug.Log("Could not convert " + texture.name + " to png. Skipping saving texture"); } } } } |
