Объявление
public static void RegisterImporterUndo(string path, string name);Параметры
path | Путь импортера активов для регистрации для отмены |
name | Имя операции отмены. |
Описание
Копирует состояние импортера для заданного пути ресурса.
Этот метод используется для отмены операции AssetDatabaseExperimental.SetImporterOverride.
using UnityEditor;
using UnityEngine;
using UnityEditor.AssetImporters;
using UnityEditor.Experimental;
[ScriptedImporter(1, null, new[] {"fbx"})]
class MyFBXImporter : ScriptedImporter
{
public override void OnImportAsset(AssetImportContext ctx)
{
var go = new GameObject("root");
ctx.AddObjectToAsset("root", go);
ctx.SetMainObject(go);
}
}
class ChangeImporterOverrideWithUndo
{
[MenuItem("Assets/Change Importer To MyFBXImporter With Undo")]
static void ChangeImporterWithUndo()
{
var assetPath = AssetDatabase.GetAssetPath(Selection.activeObject);
Undo.RegisterImporterUndo(assetPath, "Changed Importer");
AssetDatabaseExperimental.SetImporterOverride(assetPath);
}
}