AssetDatebase也是一個靜態類,他的作用是管理整個工程的所有文件(一般成為“資產”)。直觀地說就是管理整個project窗口中的所有內容,比如,你可以增加、刪除、修改文件等等。
這里有幾個常常用到:
CreateAsset:創建文件
CreateFolder:創建文件夾
DeleteAsset:刪除文件
GetAssetPath:獲取文件相對于Assets所在目錄的相對位置,如“Assets/Images/test.png”
LoadAssetAtPath:加載文件
Refresh:刷新整個project窗口
SaveAssets:保存所有文件
例子(實現右鍵點擊文件或者文件夾,選擇MyEditor/Delete Asset菜單后,刪除選擇的文件或者文件夾):
using UnityEditor;
public class EditorCase1
{
[MenuItem("Assets/MyEditor/Delete Asset")]
public static void CaseMenu()
{
var obj = Selection.activeObject;
var path = AssetDatabase.GetAssetPath(obj);
AssetDatabase.DeleteAsset(path);
}
}