77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
| using System.IO;
 | |
| using UnityEditor;
 | |
| using UnityEditor.Compilation;
 | |
| using UnityEngine;
 | |
| 
 | |
| namespace Guru.Editor.Max
 | |
| {
 | |
|     public static class GuruMaxCodeFixer
 | |
|     {   
 | |
|         
 | |
|         public static void Compile() => CompilationPipeline.RequestScriptCompilation();
 | |
|         
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the path of the asset in the project for a given MAX plugin export path.
 | |
|         /// </summary>
 | |
|         /// <param name="exportPath">The actual exported path of the asset.</param>
 | |
|         /// <returns>The exported path of the MAX plugin asset or the default export path if the asset is not found.</returns>
 | |
|         public static string GetAssetPathFromPackageForExportPath(string exportPath)
 | |
|         {
 | |
|             var defaultPath = Path.Combine(GuruMaxSdkAPI.PackageDataPath, exportPath);
 | |
|             var assetLabelToFind =
 | |
|                 "l:al_max_export_path-" +
 | |
|                 exportPath.Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
 | |
|             var assetGuids = AssetDatabase.FindAssets(assetLabelToFind);
 | |
|             return assetGuids.Length < 1 ? defaultPath : AssetDatabase.GUIDToAssetPath(assetGuids[0]);
 | |
|         }
 | |
|         
 | |
|         /// <summary>
 | |
|         /// 更新所有的修改器
 | |
|         /// </summary>
 | |
|         public static void ApplyAllMods()
 | |
|         {
 | |
| 
 | |
|             // --- 修改 AppLovinMax
 | |
|             Debug.Log($"------ #1. Apply AppLovinMax");
 | |
|             ApplovinMod.Apply();
 | |
|             
 | |
|             // --- 修复 Amazon 依赖
 | |
|             Debug.Log($"------ #2. Apply Amazon");
 | |
|             AmazonMod.Apply();
 | |
|             
 | |
|             // --- 修复 Pubmatic 依赖
 | |
|             Debug.Log($"------ #3. Apply Pubmatic");
 | |
|             PubmaticMod.Apply();
 | |
|             
 | |
|             Compile();
 | |
|         }
 | |
| 
 | |
| 
 | |
| #if GURU_SDK_DEV
 | |
|         
 | |
|         //---------- 编辑器快捷菜单 -------------------
 | |
|         
 | |
|         [MenuItem("Guru/Dev/Max/Apply All Mods")]
 | |
|         private static void DevInjectCodeFix()
 | |
|         {
 | |
|             ApplyAllMods();
 | |
|         }
 | |
|         
 | |
|         
 | |
|         [MenuItem("Guru/Dev/Max/Show Max Menu")]
 | |
|         private static void DevRecoverMenu()
 | |
|         {
 | |
|             var res = ApplovinMod.MenuItemsRecover();
 | |
|             if(res) Compile();
 | |
|         }
 | |
| 
 | |
| #endif
 | |
| 
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| } |