114 lines
4.4 KiB
C#
114 lines
4.4 KiB
C#
|
#if UNITY_2022_2_OR_NEWER
|
||
|
using System;
|
||
|
#endif
|
||
|
using UnityEditor.Build;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace UnityEditor.TestTools.TestRunner.UnityTestProtocol
|
||
|
{
|
||
|
internal static class UtpMessageBuilder
|
||
|
{
|
||
|
internal static ScreenSettingsMessage BuildScreenSettings()
|
||
|
{
|
||
|
#if UNITY_2022_2_OR_NEWER
|
||
|
// casting to int and rounding to ensure backwards compatibility with older package versions
|
||
|
var screenRefreshRate = (int)Math.Round(Screen.currentResolution.refreshRateRatio.value);
|
||
|
#else
|
||
|
var screenRefreshRate = Screen.currentResolution.refreshRate;
|
||
|
#endif
|
||
|
|
||
|
var screenSettingsMessage = new ScreenSettingsMessage()
|
||
|
{
|
||
|
ScreenSettings = new ScreenSettings(Screen.currentResolution.width, Screen.currentResolution.height, screenRefreshRate, Screen.fullScreen)
|
||
|
};
|
||
|
|
||
|
return screenSettingsMessage;
|
||
|
}
|
||
|
|
||
|
public static QualitySettingsMessage BuildQualitySettings()
|
||
|
{
|
||
|
var qualitySettingsMessage = new QualitySettingsMessage()
|
||
|
{
|
||
|
QualitySettings = new QualitySettings(
|
||
|
UnityEngine.QualitySettings.vSyncCount,
|
||
|
UnityEngine.QualitySettings.antiAliasing,
|
||
|
UnityEngine.QualitySettings.activeColorSpace.ToString(),
|
||
|
UnityEngine.QualitySettings.anisotropicFiltering.ToString(),
|
||
|
UnityEngine.QualitySettings.skinWeights.ToString()
|
||
|
),
|
||
|
};
|
||
|
return qualitySettingsMessage;
|
||
|
}
|
||
|
|
||
|
internal static PlayerSystemInfoMessage BuildPlayerSystemInfo()
|
||
|
{
|
||
|
var xrDevice = string.Empty;
|
||
|
var XrModel = string.Empty;
|
||
|
#if ENABLE_XR
|
||
|
xrDevice = UnityEngine.XR.XRSettings.loadedDeviceName;
|
||
|
XrModel = UnityEngine.XR.XRDevice.model;
|
||
|
#endif
|
||
|
|
||
|
var playerSystemInfoMessage = new PlayerSystemInfoMessage()
|
||
|
{
|
||
|
PlayerSystemInfo = new PlayerSystemInfo(
|
||
|
SystemInfo.operatingSystem,
|
||
|
SystemInfo.deviceModel,
|
||
|
SystemInfo.deviceName,
|
||
|
SystemInfo.processorType,
|
||
|
SystemInfo.processorCount,
|
||
|
SystemInfo.graphicsDeviceName,
|
||
|
SystemInfo.systemMemorySize,
|
||
|
XrModel,
|
||
|
xrDevice
|
||
|
),
|
||
|
};
|
||
|
return playerSystemInfoMessage;
|
||
|
}
|
||
|
|
||
|
internal static PlayerSettingsMessage BuildPlayerSettings()
|
||
|
{
|
||
|
var scriptingBackend = string.Empty;
|
||
|
#if UNITY_2021_2_OR_NEWER
|
||
|
scriptingBackend =
|
||
|
UnityEditor.PlayerSettings.GetScriptingBackend(NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup)).ToString();
|
||
|
#else
|
||
|
scriptingBackend = UnityEditor.PlayerSettings.GetScriptingBackend(EditorUserBuildSettings.selectedBuildTargetGroup).ToString();
|
||
|
#endif
|
||
|
|
||
|
var playerSettingsMessage = new PlayerSettingsMessage()
|
||
|
{
|
||
|
PlayerSettings = new PlayerSettings(
|
||
|
scriptingBackend,
|
||
|
UnityEditor.PlayerSettings.gpuSkinning,
|
||
|
string.Empty,
|
||
|
UnityEditorInternal.InternalEditorUtility.inBatchMode.ToString(),
|
||
|
UnityEditor.PlayerSettings.stereoRenderingPath.ToString(),
|
||
|
UnityEditor.PlayerSettings.graphicsJobs ? "GraphicsJobs" : UnityEditor.PlayerSettings.MTRendering ? "MultiThreaded" : "SingleThreaded",
|
||
|
UnityEditor.PlayerSettings.Android.targetSdkVersion.ToString(),
|
||
|
UnityEditor.PlayerSettings.Android.minSdkVersion.ToString(),
|
||
|
UnityEditor.PlayerSettings.graphicsJobs,
|
||
|
UnityEditor.PlayerSettings.MTRendering
|
||
|
),
|
||
|
};
|
||
|
|
||
|
return playerSettingsMessage;
|
||
|
}
|
||
|
|
||
|
internal static BuildSettingsMessage BuildBuildSettings()
|
||
|
{
|
||
|
var buildSettingsMessage = new BuildSettingsMessage()
|
||
|
{
|
||
|
BuildSettings = new BuildSettings(
|
||
|
Application.platform.ToString(),
|
||
|
EditorUserBuildSettings.activeBuildTarget.ToString(),
|
||
|
EditorUserBuildSettings.development,
|
||
|
EditorUserBuildSettings.androidBuildSystem.ToString()
|
||
|
)
|
||
|
};
|
||
|
|
||
|
return buildSettingsMessage;
|
||
|
}
|
||
|
}
|
||
|
}
|