New file |
| | |
| | | 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<UIPrefabLoader>(); |
| | | |
| | | 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(); |
| | | } |
| | | }; |
| | | } |
| | | |
| | | |
| | | } |