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;
 | |
|         }
 | |
|     }
 | |
| }
 |