using System.Collections.Generic; using Stary.Evo.Editor; using UnityEditor; using UnityEditor.Build; using UnityEditor.Callbacks; namespace Stary.Evo { // 实现接口的方式 public class BuildReport : IPostprocessBuildWithReport, IPreprocessBuildWithReport { public int callbackOrder { get; set; } public void OnPreprocessBuild(UnityEditor.Build.Reporting.BuildReport report) { // build前 var domainAll = CreatAssetWindow.GetCreatDomainAll(); List domainNames = new List(); for (int i = 0; i < domainAll.Count; i++) { if (domainAll[i].DomainName != "Main") domainNames.Add(domainAll[i].DomainName); } string configPath = $"Assets/Main/Resources/MainDomainAll.asset"; MainDomainAll mainDomainAll = AssetDatabase.LoadAssetAtPath(configPath); mainDomainAll.domainAll = domainNames.ToArray(); AssetDatabase.SaveAssets(); } public void OnPostprocessBuild(UnityEditor.Build.Reporting.BuildReport report) { // build完成后 } } }