diff --git a/src/UniTask/Assets/Plugins/UniTask/Editor/UniTaskTrackerWindow.cs b/src/UniTask/Assets/Plugins/UniTask/Editor/UniTaskTrackerWindow.cs index 242ac6d..40b6fe7 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Editor/UniTaskTrackerWindow.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Editor/UniTaskTrackerWindow.cs @@ -39,9 +39,9 @@ namespace Cysharp.Threading.Tasks.Editor window = this; // set singleton. splitterState = SplitterGUILayout.CreateSplitterState(new float[] { 75f, 25f }, new int[] { 32, 32 }, null); treeView = new UniTaskTrackerTreeView(); - TaskTracker.EditorEnableState.EnableAutoReload = EditorPrefs.GetBool(TaskTracker.EnableAutoReloadKey, false); - TaskTracker.EditorEnableState.EnableTracking = EditorPrefs.GetBool(TaskTracker.EnableTrackingKey, false); - TaskTracker.EditorEnableState.EnableStackTrace = EditorPrefs.GetBool(TaskTracker.EnableStackTraceKey, false); + TaskTracker.EnableState.EnableAutoReload = EditorPrefs.GetBool(TaskTracker.EnableAutoReloadKey, false); + TaskTracker.EnableState.EnableTracking = EditorPrefs.GetBool(TaskTracker.EnableTrackingKey, false); + TaskTracker.EnableState.EnableStackTrace = EditorPrefs.GetBool(TaskTracker.EnableStackTraceKey, false); } void OnGUI() @@ -63,9 +63,9 @@ namespace Cysharp.Threading.Tasks.Editor #region HeadPanel - public static bool EnableAutoReload => TaskTracker.EditorEnableState.EnableAutoReload; - public static bool EnableTracking => TaskTracker.EditorEnableState.EnableTracking; - public static bool EnableStackTrace => TaskTracker.EditorEnableState.EnableStackTrace; + public static bool EnableAutoReload => TaskTracker.EnableState.EnableAutoReload; + public static bool EnableTracking => TaskTracker.EnableState.EnableTracking; + public static bool EnableStackTrace => TaskTracker.EnableState.EnableStackTrace; static readonly GUIContent EnableAutoReloadHeadContent = EditorGUIUtility.TrTextContent("Enable AutoReload", "Reload automatically.", (Texture)null); static readonly GUIContent ReloadHeadContent = EditorGUIUtility.TrTextContent("Reload", "Reload View.", (Texture)null); static readonly GUIContent GCHeadContent = EditorGUIUtility.TrTextContent("GC.Collect", "Invoke GC.Collect.", (Texture)null); @@ -80,17 +80,17 @@ namespace Cysharp.Threading.Tasks.Editor if (GUILayout.Toggle(EnableAutoReload, EnableAutoReloadHeadContent, EditorStyles.toolbarButton, EmptyLayoutOption) != EnableAutoReload) { - TaskTracker.EditorEnableState.EnableAutoReload = !EnableAutoReload; + TaskTracker.EnableState.EnableAutoReload = !EnableAutoReload; } if (GUILayout.Toggle(EnableTracking, EnableTrackingHeadContent, EditorStyles.toolbarButton, EmptyLayoutOption) != EnableTracking) { - TaskTracker.EditorEnableState.EnableTracking = !EnableTracking; + TaskTracker.EnableState.EnableTracking = !EnableTracking; } if (GUILayout.Toggle(EnableStackTrace, EnableStackTraceHeadContent, EditorStyles.toolbarButton, EmptyLayoutOption) != EnableStackTrace) { - TaskTracker.EditorEnableState.EnableStackTrace = !EnableStackTrace; + TaskTracker.EnableState.EnableStackTrace = !EnableStackTrace; } GUILayout.FlexibleSpace(); diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/TaskTracker.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/TaskTracker.cs index c163e22..0087351 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/TaskTracker.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/TaskTracker.cs @@ -21,7 +21,7 @@ namespace Cysharp.Threading.Tasks public const string EnableTrackingKey = "UniTaskTrackerWindow_EnableTrackingKey"; public const string EnableStackTraceKey = "UniTaskTrackerWindow_EnableStackTraceKey"; - public static class EditorEnableState + public static class EnableState { static bool enableAutoReload; public static bool EnableAutoReload @@ -57,6 +57,15 @@ namespace Cysharp.Threading.Tasks } } +#elif ENABLE_PROFILER + + public static class EnableState + { + public static bool EnableAutoReload; + public static bool EnableTracking; + public static bool EnableStackTrace; + } + #endif @@ -64,16 +73,16 @@ namespace Cysharp.Threading.Tasks static readonly WeakDictionary tracking = new WeakDictionary(); - [Conditional("UNITY_EDITOR")] + [Conditional( "ENABLE_PROFILER" )] public static void TrackActiveTask(IUniTaskSource task, int skipFrame) { #if UNITY_EDITOR dirty = true; - if (!EditorEnableState.EnableTracking) return; - var stackTrace = EditorEnableState.EnableStackTrace ? new StackTrace(skipFrame, true).CleanupAsyncStackTrace() : ""; + if (!EnableState.EnableTracking) return; + var stackTrace = EnableState.EnableStackTrace ? new StackTrace(skipFrame, true).CleanupAsyncStackTrace() : ""; string typeName; - if (EditorEnableState.EnableStackTrace) + if (EnableState.EnableStackTrace) { var sb = new StringBuilder(); TypeBeautify(task.GetType(), sb); @@ -87,12 +96,12 @@ namespace Cysharp.Threading.Tasks #endif } - [Conditional("UNITY_EDITOR")] + [Conditional( "ENABLE_PROFILER" )] public static void RemoveTracking(IUniTaskSource task) { #if UNITY_EDITOR dirty = true; - if (!EditorEnableState.EnableTracking) return; + if (!EnableState.EnableTracking) return; var success = tracking.TryRemove(task); #endif }