public void OnInspectorUpdate() { #if (ADVANCED_COROUTINES_STAT) _routinesStatistics = AdvancedCoroutinesStatistics.GetStatistics(); #endif Repaint(); }
private void DrawEraseDataBtn() { GUI.color = Color.red; if (GUILayout.Button("Erase statistics")) { EditorUtility.DisplayDialog("Warning!", "Do you want to erase statistics?", "Ok", "Cancel"); { AdvancedCoroutinesStatistics.Erase(); } } GUI.color = Color.white; }
/// <summary> /// Start new standalone coroutine /// </summary> /// <param name="enumerator">Method returning 'IEnumerator' in most cases</param> /// <returns>New StandaloneRoutine object</returns> /// <example> /// <code> /// IEnumerator CoroutineMethod() /// { /// yield return new Wait(1f); /// yield return new Wait(Wait.WaitType.ForEndOfUpdate); /// yield return new Wait(Wait.WaitType.ForNextFrame); /// } /// /// StartCoroutine(CoroutineMethod()); /// </code> /// </example> public static Routine StartStandaloneCoroutine(IEnumerator enumerator) { Routine standaloneRoutine = _dll.StartCoroutine(enumerator, null); if (standaloneRoutine == null) { return(null); } #if (ADVANCED_COROUTINES_STAT) AdvancedCoroutinesStatistics.Add(standaloneRoutine, StackTraceUtility.ExtractStackTrace()); #endif return(standaloneRoutine); }
/// <summary> /// Start coroutine attached to certain 'object'. Can be stopped by StopCoroutine() and StopAllCoroutines() /// </summary> /// <param name="enumerator">Method returning 'IEnumerator' in most cases</param> /// <param name="o">object which StartCoroutine was executed from. gameObject for example</param> /// <returns>New Routine object</returns> /// /// <example> /// <code> /// IEnumerator CoroutineMethod() /// { /// yield return new Wait(1f); /// yield return new Wait(Wait.WaitType.ForEndOfUpdate); /// yield return new Wait(Wait.WaitType.ForNextFrame); /// } /// /// StartCoroutine(CoroutineMethod(), gameObject); /// </code> /// </example> public static Routine StartCoroutine(IEnumerator enumerator, GameObject o) { Routine routine = _dll.StartCoroutine(enumerator, o); if (routine == null) { return(null); } #if (ADVANCED_COROUTINES_STAT) AdvancedCoroutinesStatistics.Add(routine, StackTraceUtility.ExtractStackTrace()); #endif return(routine); }