Undo.RegisterImporterUndo

Cambiar al Manual
public static void RegisterImporterUndo (string path, string name);

Parámetros

pathPath of the asset importer to register for Undo.
nameRealizar una operación de rehacer.

Descripción

Copies the state of the importer for the given asset path.

This method is used to Undo a AssetDatabaseExperimental.SetImporterOverride operation.

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<MyFBXImporter>(assetPath); } }