This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ShrinkApp.Editor
|
||||
{
|
||||
public static class ShrinkAppEditorMenu
|
||||
{
|
||||
[MenuItem("ShrinkApp/创建 Settings")]
|
||||
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<ShrinkAppSettings>(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<ShrinkAppSettings>();
|
||||
AssetDatabase.CreateAsset(asset, assetPath);
|
||||
AssetDatabase.SaveAssets();
|
||||
Selection.activeObject = asset;
|
||||
EditorGUIUtility.PingObject(asset);
|
||||
Debug.Log("[ShrinkApp] 已创建 ShrinkAppSettings.asset");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user