using System; using System.Collections.Generic; using Stary.Evo.Editor; using UnityEditor; using UnityEditor.Build; using UnityEditor.Callbacks; using UnityEngine; namespace Stary.Evo.Editor { // 实现接口的方式 public class BuildReport : IPostprocessBuildWithReport, IPreprocessBuildWithReport { public int callbackOrder { get; set; } public void OnPreprocessBuild(UnityEditor.Build.Reporting.BuildReport report) { string platform = CustomEditorPrefs.GetString("ChangePlayerSchema"); // build前 if (Enum.Parse(platform) == PLayerMode.EDITOR_SIMULATEMODE) { int id = EditorUtility.DisplayDialogComplex("提示", $"当前为[{PLayerMode.EDITOR_SIMULATEMODE}]模式,请选择切换得热更模式!", $"{PLayerMode.HOST_PLAYMODE}", $"{PLayerMode.HOST_PLAYMODE}", "取消"); switch (id) { case 0: ChangePlayerSchema.SetPlayerMode(PLayerMode.HOST_PLAYMODE); Debug.Log("切换为[HOST_PLAYMODE]模式"); break; case 1: ChangePlayerSchema.SetPlayerMode(PLayerMode.LOCAL_PLAYMODE); Debug.Log("切换为[HOST_PLAYMODE]模式"); break; case 2: break; } } } public void OnPostprocessBuild(UnityEditor.Build.Reporting.BuildReport report) { // build完成后 } } }