107 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			107 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C#
		
	
	
|  | using System.IO; | ||
|  | using UnityEditor; | ||
|  | using UnityEngine; | ||
|  | 
 | ||
|  | namespace Guru.Editor.Adjust | ||
|  | { | ||
|  |      | ||
|  |     /// <summary> | ||
|  |     /// 修改器API | ||
|  |     /// </summary> | ||
|  |     public static class GuruAdjustSdkAPI | ||
|  |     { | ||
|  |         // ------------ VERSION INFO ------------ | ||
|  |         public const string Version = "0.1.0"; | ||
|  |         public const string SdkVersion = "4.36.0"; | ||
|  |         // ------------ VERSION INFO ------------ | ||
|  | 
 | ||
|  |         public const string PackageName = "com.guru.unity.adjust"; | ||
|  |         public static readonly string AdjustSettingsRootDir = "Assets/Guru/Editor"; | ||
|  |         public static string AdjustSettingsAssetPath = $"{AdjustSettingsRootDir}/AdjustSettings.asset"; | ||
|  | 
 | ||
|  |         public static string PackageEditorRoot | ||
|  |         { | ||
|  |             get | ||
|  |             { | ||
|  | #if GURU_SDK_DEV | ||
|  |                 return $"__upm/{PackageName}/Adjust/Editor";   | ||
|  | #endif | ||
|  |                 return $"Packages/{PackageName}/Adjust/Editor"; | ||
|  |             } | ||
|  |         } | ||
|  |         public static string AdjustSettingsPackagePath = $"{PackageEditorRoot}/AdjustSettings.asset"; | ||
|  | 
 | ||
|  |         #region AdjustSettings | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// 创建AdjustSettings | ||
|  |         /// </summary> | ||
|  |         /// <returns></returns> | ||
|  |         public static AdjustSettings LoadOrCreateAdjustSettings() | ||
|  |         { | ||
|  |             // 若原始文件存在         | ||
|  |             if (File.Exists(Path.Combine(Application.dataPath.Replace("Assets", ""), AdjustSettingsAssetPath))) | ||
|  |             { | ||
|  |                 return AssetDatabase.LoadAssetAtPath<AdjustSettings>(AdjustSettingsAssetPath); | ||
|  |             } | ||
|  |             // 否则开始查找文件 | ||
|  |             var guids = AssetDatabase.FindAssets($"{nameof(AdjustSettings)} t:ScriptableObject"); | ||
|  |             int removed = 0; | ||
|  |             if (guids.Length > 0) | ||
|  |             { | ||
|  |                 foreach (var g in guids) | ||
|  |                 { | ||
|  |                     var path = AssetDatabase.GUIDToAssetPath(g); | ||
|  | 
 | ||
|  |                     Debug.Log($"--- Found assets at path:{path}"); | ||
|  | 
 | ||
|  | 
 | ||
|  |                     if (!path.StartsWith(AdjustSettingsRootDir)) | ||
|  |                     { | ||
|  |                         AssetDatabase.DeleteAsset(path); | ||
|  |                         removed++; | ||
|  |                     } | ||
|  |                 } | ||
|  |             } | ||
|  | 
 | ||
|  |             if (guids.Length == 0 || removed >= guids.Length) | ||
|  |             { | ||
|  |                 return CreateDefaultAdjustSettings(); // 创建默认的AppLovin Settings 配置 | ||
|  |             } | ||
|  |              | ||
|  |             return AssetDatabase.LoadAssetAtPath<AdjustSettings>(AssetDatabase.GUIDToAssetPath(guids[0])); | ||
|  |         } | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// 创建AppLovinSettings 配置默认路径 | ||
|  |         /// </summary> | ||
|  |         /// <returns></returns> | ||
|  |         private static AdjustSettings CreateDefaultAdjustSettings() | ||
|  |         { | ||
|  |             // Create Root dir | ||
|  |             var expDir = | ||
|  |                 new DirectoryInfo(Path.Combine(Application.dataPath.Replace("Assets", ""), AdjustSettingsRootDir)); | ||
|  |             if (!expDir.Exists) expDir.Create(); | ||
|  | 
 | ||
|  |             // Make a new one | ||
|  |             var settings = ScriptableObject.CreateInstance<AdjustSettings>(); | ||
|  |             AssetDatabase.CreateAsset(settings, AdjustSettingsAssetPath); | ||
|  |             AssetDatabase.SaveAssetIfDirty(settings); | ||
|  |             AssetDatabase.Refresh(); | ||
|  | 
 | ||
|  |             Debug.Log($"[Guru] <color=#88ff00>--- Create AdjustSettings at:</color> \n{AdjustSettingsAssetPath}"); | ||
|  | 
 | ||
|  |             return settings; | ||
|  |         } | ||
|  |          | ||
|  |         #endregion | ||
|  | 
 | ||
|  | 
 | ||
|  |         public static void ApllyMods() | ||
|  |         { | ||
|  |              | ||
|  |         } | ||
|  | 
 | ||
|  | 
 | ||
|  |     } | ||
|  | } |