A game about forced loneliness, made by TACStudios
1using System; 2using System.Collections; 3using UnityEngine; 4 5namespace UnityEditor.TestTools.TestRunner.TestRun.Tasks 6{ 7 internal class PerformUndoTask : TestTaskBase 8 { 9 private const double warningThreshold = 1000; 10 11 internal Action<int> RevertAllDownToGroup = Undo.RevertAllDownToGroup; 12 internal Action<string> LogWarning = Debug.LogWarning; 13 internal Action<string, string, float> DisplayProgressBar = EditorUtility.DisplayProgressBar; 14 internal Action ClearProgressBar = EditorUtility.ClearProgressBar; 15 internal Func<DateTime> TimeNow = () => DateTime.Now; 16 17 public override IEnumerator Execute(TestJobData testJobData) 18 { 19 if (testJobData.undoGroup < 0) 20 { 21 yield break; 22 } 23 24 DisplayProgressBar("Undo", "Reverting changes to the scene", 0); 25 26 var undoStartTime = TimeNow(); 27 28 RevertAllDownToGroup(testJobData.undoGroup); 29 30 var timeDelta = TimeNow() - undoStartTime; 31 if (timeDelta.TotalMilliseconds >= warningThreshold) 32 { 33 LogWarning($"Undo after editor test run took {timeDelta.Seconds} second{(timeDelta.Seconds == 1 ? "" : "s")}."); 34 } 35 36 ClearProgressBar(); 37 } 38 } 39}