ModuleSideSlipPrefabSetup.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using AppUI.View.Component;
  2. using UnityEditor;
  3. using UnityEngine;
  4. namespace AppUI.Editor
  5. {
  6. static class ModuleSideSlipPrefabSetup
  7. {
  8. const string PrefabAssetPath = "Assets/AppUI/Resources/Wonderfitter/Manager/ModuleSideSlip.prefab";
  9. [MenuItem("AppUI/Setup ModuleSideSlip Prefab")]
  10. static void SetupPrefab()
  11. {
  12. var prefabRoot = AssetDatabase.LoadAssetAtPath<GameObject>(PrefabAssetPath);
  13. if (prefabRoot == null)
  14. {
  15. Debug.LogError($"[ModuleSideSlip] 未找到预制体: {PrefabAssetPath}");
  16. return;
  17. }
  18. var instance = PrefabUtility.LoadPrefabContents(PrefabAssetPath);
  19. ModuleSideSlip.EnsurePrefabHierarchy(instance.transform);
  20. var slip = instance.GetComponent<ModuleSideSlip>();
  21. if (slip == null)
  22. slip = instance.AddComponent<ModuleSideSlip>();
  23. PrefabUtility.SaveAsPrefabAsset(instance, PrefabAssetPath);
  24. PrefabUtility.UnloadPrefabContents(instance);
  25. AssetDatabase.SaveAssets();
  26. AssetDatabase.Refresh();
  27. Debug.Log("[ModuleSideSlip] 预制体层级与脚本已更新。");
  28. }
  29. }
  30. }