Files
plugin-library/Assets/00.StaryEvoTools/Editor/Build/BuildReport.cs
2026-01-05 17:58:53 +08:00

48 lines
1.6 KiB
C#

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 = EditorPrefs.GetString("ChangePlayerSchema");
// build前
if (Enum.Parse<PLayerMode>(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.HOST_PLAYMODE);
Debug.Log("切换为[HOST_PLAYMODE]模式");
break;
case 2:
break;
}
}
}
public void OnPostprocessBuild(UnityEditor.Build.Reporting.BuildReport report)
{
// build完成后
}
}
}