Files
.vs
Assets
Library
APIUpdater
Artifacts
Bee
BuildPlayerData
PackageCache
com.unity.collab-proxy@2.5.2
com.unity.editorcoroutines@1.0.0
com.unity.ext.nunit@1.0.6
com.unity.feature.development@1.0.1
com.unity.ide.rider@3.0.31
com.unity.ide.visualstudio@2.0.22
com.unity.ide.vscode@1.2.5
com.unity.modules.ai@1.0.0
com.unity.modules.androidjni@1.0.0
com.unity.modules.animation@1.0.0
com.unity.modules.assetbundle@1.0.0
com.unity.modules.audio@1.0.0
com.unity.modules.cloth@1.0.0
com.unity.modules.director@1.0.0
com.unity.modules.imageconversion@1.0.0
com.unity.modules.imgui@1.0.0
com.unity.modules.jsonserialize@1.0.0
com.unity.modules.particlesystem@1.0.0
com.unity.modules.physics2d@1.0.0
com.unity.modules.physics@1.0.0
com.unity.modules.screencapture@1.0.0
com.unity.modules.subsystems@1.0.0
com.unity.modules.terrain@1.0.0
com.unity.modules.terrainphysics@1.0.0
com.unity.modules.tilemap@1.0.0
com.unity.modules.ui@1.0.0
com.unity.modules.uielements@1.0.0
com.unity.modules.umbra@1.0.0
com.unity.modules.unityanalytics@1.0.0
com.unity.modules.unitywebrequest@1.0.0
com.unity.modules.unitywebrequestassetbundle@1.0.0
com.unity.modules.unitywebrequestaudio@1.0.0
com.unity.modules.unitywebrequesttexture@1.0.0
com.unity.modules.unitywebrequestwww@1.0.0
com.unity.modules.vehicles@1.0.0
com.unity.modules.video@1.0.0
com.unity.modules.vr@1.0.0
com.unity.modules.wind@1.0.0
com.unity.modules.xr@1.0.0
com.unity.performance.profile-analyzer@1.2.2
com.unity.settings-manager@2.0.1
com.unity.test-framework@1.1.33
Documentation~
UnityEditor.TestRunner
Api
CommandLineParser
CommandLineTest
GUI
NUnitExtension
TestLaunchers
PlatformSetup
AttributeFinderBase.cs
AttributeFinderBase.cs.meta
DelayedCallback.cs
DelayedCallback.cs.meta
EditModeLauncher.cs
EditModeLauncher.cs.meta
EditModeLauncherContextSettings.cs
EditModeLauncherContextSettings.cs.meta
PlatformSetup.meta
PlayerLauncher.cs
PlayerLauncher.cs.meta
PlayerLauncherBuildOptions.cs
PlayerLauncherBuildOptions.cs.meta
PlayerLauncherContextSettings.cs
PlayerLauncherContextSettings.cs.meta
PlayerLauncherTestRunSettings.cs
PlayerLauncherTestRunSettings.cs.meta
PlaymodeLauncher.cs
PlaymodeLauncher.cs.meta
PostbuildCleanupAttributeFinder.cs
PostbuildCleanupAttributeFinder.cs.meta
PrebuildSetupAttributeFinder.cs
PrebuildSetupAttributeFinder.cs.meta
RemotePlayerLogController.cs
RemotePlayerLogController.cs.meta
RemotePlayerTestController.cs
RemotePlayerTestController.cs.meta
RemoteTestResultReciever.cs
RemoteTestResultReciever.cs.meta
RuntimeTestLauncherBase.cs
RuntimeTestLauncherBase.cs.meta
TestLauncherBase.cs
TestLauncherBase.cs.meta
TestRun
TestRunner
TestSettings
UnityTestProtocol
Api.meta
AssemblyInfo.cs
AssemblyInfo.cs.meta
CommandLineParser.meta
CommandLineTest.meta
GUI.meta
NUnitExtension.meta
RequireApiProfileAttribute.cs
RequireApiProfileAttribute.cs.meta
RequirePlatformSupportAttribute.cs
RequirePlatformSupportAttribute.cs.meta
TestBuildAssemblyFilter.cs
TestBuildAssemblyFilter.cs.meta
TestLaunchers.meta
TestResultSerializer.cs
TestResultSerializer.cs.meta
TestRun.meta
TestRunner.meta
TestRunnerWindow.cs
TestRunnerWindow.cs.meta
TestRunnerWindowSettings.cs
TestRunnerWindowSettings.cs.meta
TestSettings.meta
UnityEditor.TestRunner.asmdef
UnityEditor.TestRunner.asmdef.meta
UnityTestProtocol.meta
UnityEngine.TestRunner
.signature
CHANGELOG.md
CHANGELOG.md.meta
CONTRIBUTING.md
CONTRIBUTING.md.meta
LICENSE.md
LICENSE.md.meta
UnityEditor.TestRunner.meta
UnityEngine.TestRunner.meta
package.json
package.json.meta
com.unity.testtools.codecoverage@1.2.6
com.unity.textmeshpro@3.0.6
com.unity.timeline@1.7.6
com.unity.ugui@1.0.0
com.unity.visualscripting@1.9.4
PackageManager
PlayModeViewStates
PlayerDataCache
ScriptAssemblies
Search
ShaderCache
SplashScreenCache
StateCache
UIElements
AnnotationManager
ArtifactDB
ArtifactDB-lock
BuildPlayer.prefs
BuildSettings.asset
EditorOnlyScriptingSettings.json
EditorOnlyVirtualTextureState.json
EditorSnapSettings.asset
EditorUserBuildSettings.asset
InspectorExpandedItems.asset
LastBuild.buildreport
LastSceneManagerSetup.txt
LibraryFormatVersion.txt
MonoManager.asset
SceneVisibilityState.asset
ScriptMapper
ShaderCache.db
SourceAssetDB
SourceAssetDB-lock
SpriteAtlasDatabase.asset
Style.catalog
expandedItems
ilpp.pid
Logs
Packages
ProjectSettings
UserSettings
obj
.vsconfig
Assembly-CSharp.Player.csproj
Assembly-CSharp.csproj
TM1.sln
Unity.CollabProxy.Editor.csproj
Unity.EditorCoroutines.Editor.csproj
Unity.Performance.Profile-Analyzer.Editor.csproj
Unity.PlasticSCM.Editor.csproj
Unity.Rider.Editor.csproj
Unity.Settings.Editor.csproj
Unity.TestTools.CodeCoverage.Editor.OpenCover.Model.csproj
Unity.TestTools.CodeCoverage.Editor.OpenCover.Mono.Reflection.csproj
Unity.TestTools.CodeCoverage.Editor.csproj
Unity.TextMeshPro.Editor.csproj
Unity.TextMeshPro.Player.csproj
Unity.TextMeshPro.csproj
Unity.Timeline.Editor.csproj
Unity.Timeline.Player.csproj
Unity.Timeline.csproj
Unity.VSCode.Editor.csproj
Unity.VisualScripting.Core.Editor.csproj
Unity.VisualScripting.Core.Player.csproj
Unity.VisualScripting.Core.csproj
Unity.VisualScripting.Flow.Editor.csproj
Unity.VisualScripting.Flow.Player.csproj
Unity.VisualScripting.Flow.csproj
Unity.VisualScripting.SettingsProvider.Editor.csproj
Unity.VisualScripting.Shared.Editor.csproj
Unity.VisualScripting.State.Editor.csproj
Unity.VisualScripting.State.Player.csproj
Unity.VisualScripting.State.csproj
Unity.VisualStudio.Editor.csproj
UnityEditor.TestRunner.csproj
UnityEditor.UI.csproj
UnityEngine.TestRunner.Player.csproj
UnityEngine.TestRunner.csproj
UnityEngine.UI.Player.csproj
UnityEngine.UI.csproj

114 lines
3.9 KiB
C#
Raw Normal View History

2025-01-17 13:10:20 +01:00
using System;
using System.IO;
using UnityEditor.TestTools.TestRunner.Api;
using UnityEngine;
namespace UnityEditor.TestTools.TestRunner
{
internal class PlayerLauncherContextSettings : IDisposable
{
private ITestRunSettings m_OverloadSettings;
private EditorBuildSettingsScene[] m_EditorBuildSettings;
#pragma warning disable 618
private ResolutionDialogSetting m_DisplayResolutionDialog;
#pragma warning restore 618
private bool m_RunInBackground;
private FullScreenMode m_FullScreenMode;
private bool m_ResizableWindow;
private bool m_ShowUnitySplashScreen;
private string m_OldproductName;
private string m_OldAotOptions;
#pragma warning disable 618
private Lightmapping.GIWorkflowMode m_OldLightmapping;
#pragma warning restore 618
private bool m_explicitNullChecks;
private bool m_Disposed;
public PlayerLauncherContextSettings(ITestRunSettings overloadSettings)
{
m_OverloadSettings = overloadSettings;
SetupProjectParameters();
if (overloadSettings != null)
{
overloadSettings.Apply();
}
}
public void Dispose()
{
if (!m_Disposed)
{
CleanupProjectParameters();
if (m_OverloadSettings != null)
{
m_OverloadSettings.Dispose();
}
m_Disposed = true;
}
}
private void SetupProjectParameters()
{
EditorApplication.LockReloadAssemblies();
m_EditorBuildSettings = EditorBuildSettings.scenes;
#pragma warning disable 618
m_DisplayResolutionDialog = PlayerSettings.displayResolutionDialog;
PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;
#pragma warning restore 618
m_RunInBackground = PlayerSettings.runInBackground;
PlayerSettings.runInBackground = true;
m_FullScreenMode = PlayerSettings.fullScreenMode;
PlayerSettings.fullScreenMode = FullScreenMode.Windowed;
m_OldAotOptions = PlayerSettings.aotOptions;
PlayerSettings.aotOptions = "nimt-trampolines=1024";
m_ResizableWindow = PlayerSettings.resizableWindow;
PlayerSettings.resizableWindow = true;
m_ShowUnitySplashScreen = PlayerSettings.SplashScreen.show;
PlayerSettings.SplashScreen.show = false;
m_OldproductName = PlayerSettings.productName;
PlayerSettings.productName = string.Join("_", Application.productName.Split(Path.GetInvalidFileNameChars()));
#pragma warning disable 618
m_OldLightmapping = Lightmapping.giWorkflowMode;
Lightmapping.giWorkflowMode = Lightmapping.GIWorkflowMode.OnDemand;
#pragma warning restore 618
m_explicitNullChecks = EditorUserBuildSettings.explicitNullChecks;
EditorUserBuildSettings.explicitNullChecks = true;
}
private void CleanupProjectParameters()
{
EditorBuildSettings.scenes = m_EditorBuildSettings;
PlayerSettings.fullScreenMode = m_FullScreenMode;
PlayerSettings.runInBackground = m_RunInBackground;
#pragma warning disable 618
PlayerSettings.displayResolutionDialog = m_DisplayResolutionDialog;
#pragma warning restore 618
PlayerSettings.resizableWindow = m_ResizableWindow;
PlayerSettings.SplashScreen.show = m_ShowUnitySplashScreen;
PlayerSettings.productName = m_OldproductName;
PlayerSettings.aotOptions = m_OldAotOptions;
#pragma warning disable 618
Lightmapping.giWorkflowMode = m_OldLightmapping;
#pragma warning restore 618
EditorUserBuildSettings.explicitNullChecks = m_explicitNullChecks;
EditorApplication.UnlockReloadAssemblies();
}
}
}