A game about forced loneliness, made by TACStudios
1using System;
2using System.Collections;
3using UnityEditor.SceneManagement;
4using UnityEngine.SceneManagement;
5
6namespace UnityEditor.TestTools.TestRunner.TestRun.Tasks.Scene
7{
8 internal class CreateNewSceneTask : TestTaskBase
9 {
10 internal Func<int> GetSceneCount = () => SceneManager.sceneCount;
11 internal Func<int, ISceneWrapper> GetSceneAt = i => new SceneWrapper(SceneManager.GetSceneAt(i));
12 internal Func<NewSceneSetup, NewSceneMode, ISceneWrapper> NewScene = (setup, mode) => new SceneWrapper(EditorSceneManager.NewScene(setup, mode));
13 internal Action<ISceneWrapper> SetActiveScene = scene => SceneManager.SetActiveScene(scene.WrappedScene);
14
15 public override IEnumerator Execute(TestJobData testJobData)
16 {
17 if (GetSceneCount() == 1 && string.IsNullOrEmpty(GetSceneAt(0).path))
18 {
19 NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);
20 yield break;
21 }
22
23 var scene = NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Additive);
24 SetActiveScene(scene);
25 }
26 }
27}