Version: 5.6

EditorUtility.SaveFilePanelInProject

切换到手册
public static string SaveFilePanelInProject (string title, string defaultName, string extension, string message);

描述

在项目的 Assets 文件夹中显示“保存文件”对话框并返回所选的路径名称。

另请参阅:SaveFilePanel 函数。


Save File panel in project.

using UnityEngine;
using UnityEditor;
using System.IO;

public class SaveFilePanelInProjectExample : EditorWindow { [MenuItem("Example/Save Texture In Project")] static void Apply() { Texture2D texture = Selection.activeObject as Texture2D; if (texture == null) { EditorUtility.DisplayDialog("Select Texture", "You must select a texture first!", "OK"); return; }

string path = EditorUtility.SaveFilePanelInProject("Save png", texture.name + "png", "png", "Please enter a file name to save the texture to"); if (path.Length != 0) { byte[] pngData = texture.EncodeToPNG(); if (pngData != null) { File.WriteAllBytes(path, pngData);

// As we are saving to the asset folder, tell Unity to scan for modified or new assets AssetDatabase.Refresh(); } } } }