using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using Snxxz.UI; public class PrefabHelper { [InitializeOnLoadMethod] static void StartInitializeOnLoadMethod() { PrefabUtility.prefabInstanceUpdated = delegate (GameObject instance) { var prefab = PrefabUtility.GetPrefabParent(instance) as GameObject; var prefabLoaders = prefab.GetComponentsInChildren(); var dirty = false; foreach (var loader in prefabLoaders) { if (!string.IsNullOrEmpty(loader.prefabName)) { var find = loader.transform.Find(loader.prefabName); if (find) { GameObject.DestroyImmediate(find.gameObject, true); EditorUtility.SetDirty(loader.gameObject); dirty = true; } } } if (dirty) { AssetDatabase.SaveAssets(); } }; } }