将组件或游戏对象的属性重置为父预制件状态。
所有重载都将被清除。但预制件实例中根游戏对象的 transform.position 和旋转 永远不会被清除。
using UnityEngine; using UnityEditor;
class Example : EditorWindow { // Try to set the selected GameObject to a prefab state
[MenuItem("Examples/Attempt to reset to prefab %r")] static void Reset() { if (PrefabUtility.ResetToPrefabState(Selection.activeGameObject)) { Debug.Log("Reseted to prefab state successfully!"); } else { Debug.LogError("Couldnt reset to a prefab state " + Selection.activeGameObject.name); } }
[MenuItem("Examples/Attemp to reset to prefab %r", true)] static bool CheckReset() { return Selection.activeGameObject != null; } }