#if UNITY_EDITOR using UnityEditor; using UnityEngine; namespace ShrinkApp.Editor { public static class ShrinkAppEditorMenu { [MenuItem("ShrinkSDK/应用/创建设置")] public static void CreateSettingsAsset() { const string resourcesDir = "Assets/Resources"; if (!AssetDatabase.IsValidFolder(resourcesDir)) AssetDatabase.CreateFolder("Assets", "Resources"); const string assetPath = "Assets/Resources/ShrinkAppSettings.asset"; var existing = AssetDatabase.LoadAssetAtPath(assetPath); if (existing != null) { Selection.activeObject = existing; EditorGUIUtility.PingObject(existing); return; } // 旧版本曾生成过 m_Script=fileID:0 的无效占位资产。删除该占位后 // 才能在同一路径创建真正绑定 ShrinkAppSettings 类型的资产。 if (!string.IsNullOrEmpty(AssetDatabase.AssetPathToGUID(assetPath))) AssetDatabase.DeleteAsset(assetPath); var asset = ScriptableObject.CreateInstance(); AssetDatabase.CreateAsset(asset, assetPath); AssetDatabase.SaveAssets(); Selection.activeObject = asset; EditorGUIUtility.PingObject(asset); Debug.Log("[ShrinkApp] 已创建 ShrinkAppSettings.asset"); } } } #endif