51 lines
2.1 KiB
C#
51 lines
2.1 KiB
C#
using UnityEditor;
|
|
using UnityEditor.Build;
|
|
using UnityEditor.Build.Profile;
|
|
|
|
namespace Unity.DedicatedServer.Editor.Internal
|
|
{
|
|
internal static class InternalUtility
|
|
{
|
|
// This is the only internal API we should access from the BuildProfile module
|
|
public static void GetBuildProfileInternalData(BuildProfile buildProfile, out StandaloneBuildSubtarget buildSubtarget, out BuildTarget buildTarget, out string platformId)
|
|
{
|
|
buildSubtarget = buildProfile.subtarget;
|
|
buildTarget = buildProfile.buildTarget;
|
|
platformId = buildProfile.platformId;
|
|
}
|
|
|
|
public static bool IsStandalonePlatform(BuildTarget buildTarget)
|
|
=> BuildPipeline.GetBuildTargetGroup(buildTarget) == BuildTargetGroup.Standalone;
|
|
|
|
public static bool IsServerProfile(BuildProfile buildProfile)
|
|
{
|
|
GetBuildProfileInternalData(buildProfile, out var buildSubtarget, out var buildTarget, out _);
|
|
return buildSubtarget == StandaloneBuildSubtarget.Server && IsStandalonePlatform(buildTarget);
|
|
}
|
|
|
|
public static bool IsClassicProfile(BuildProfile buildProfile)
|
|
{
|
|
return (buildProfile.hideFlags & UnityEngine.HideFlags.DontSave) != 0;
|
|
}
|
|
|
|
public static NamedBuildTarget GetNamedBuildTarget(BuildTarget buildTarget, StandaloneBuildSubtarget subtarget)
|
|
{
|
|
if (subtarget == StandaloneBuildSubtarget.Server && IsStandalonePlatform(buildTarget))
|
|
return NamedBuildTarget.Server;
|
|
|
|
return NamedBuildTarget.FromBuildTargetGroup(BuildPipeline.GetBuildTargetGroup(buildTarget));
|
|
}
|
|
|
|
#if !UNITY_6000_1_OR_NEWER
|
|
public static string GetUniqueKeyForClassicTarget(BuildTarget buildTarget, StandaloneBuildSubtarget subtarget)
|
|
{
|
|
var platformGuid = (subtarget == StandaloneBuildSubtarget.Server && IsStandalonePlatform(buildTarget))
|
|
? BuildTargetDiscovery.GetGUIDFromBuildTarget(NamedBuildTarget.Server, buildTarget)
|
|
: BuildTargetDiscovery.GetGUIDFromBuildTarget(buildTarget);
|
|
|
|
return platformGuid.ToString();
|
|
}
|
|
#endif
|
|
}
|
|
}
|