コード例 #1
0
     public void OnInspectorUpdate()
     {
 #if (ADVANCED_COROUTINES_STAT)
         _routinesStatistics = AdvancedCoroutinesStatistics.GetStatistics();
 #endif
         Repaint();
     }
コード例 #2
0
 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;
 }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
ファイル: CoroutineManager.cs プロジェクト: OranBar/MyRoom
        /// <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);
        }