Exemple #1
0
 /// <summary>
 /// Unregist an IResumable which update by Application
 /// </summary>
 /// <param name="c"></param>
 public void UnRegistApplicationExecuter(IResumable c)
 {
     if (applicationExecutor.Contains(c))
     {
         applicationExecutor.Remove(c);
     }
 }
Exemple #2
0
 public void RemoveFromUpdateExecuter(IResumable c)
 {
     if (gamePlayUpdateExecuter.Contains(c))
     {
         gamePlayUpdateExecuter.Remove(c);
     }
 }
Exemple #3
0
 /// <summary>
 /// Regist an IResumable which update by Application
 /// </summary>
 /// <param name="c"></param>
 public void RegistApplicationExecuter(IResumable c)
 {
     if (!applicationExecutor.Contains(c))
     {
         applicationExecutor.Add(c);
     }
 }
 public void RemoveFromUpdateExecuter(IResumable c)
 {
     if (!(gamePlayUnpauseUpdateExecuter.Contains(c) || removeUpdateExecuterCache.Contains(c)))
     {
         removeUpdateExecuterCache.Add(c);
     }
 }
Exemple #5
0
 public void AddToUpdateExecuter(IResumable c)
 {
     if (!gamePlayUpdateExecuter.Contains(c))
     {
         gamePlayUpdateExecuter.Add(c);
     }
 }
 public void AddToUpdateExecuter(IResumable c)
 {
     if (!(gamePlayUnpauseUpdateExecuter.Contains(c) || addUpdateExecuterCache.Contains(c)))
     {
         addUpdateExecuterCache.Add(c);
     }
 }
        public static IEnumerator Join(IResumable resumable)
        {
            resumable.Resume(Coroutine.Delta);
            while (!resumable.Finished)
            {
                yield return(null);

                resumable.Resume(Coroutine.Delta);
            }
        }
Exemple #8
0
        /// <summary>
        /// Resume a resumable until the condition is met.
        /// </summary>
        /// <param name="resumable">The resumable.</param>
        /// <param name="condition">Condition delegate. It will be evaluated every before resuming.</param>
        /// <returns></returns>
        public static IEnumerator JoinWhile(this IResumable resumable, Condition condition)
        {
            if (!condition())
            {
                resumable.Resume(Coroutine.Delta);
            }

            while (condition())
            {
                yield return(null);

                resumable.Resume(Coroutine.Delta);
            }
        }
Exemple #9
0
        /// <summary>
        /// Resume a resumable until it is finished or time is up
        /// </summary>
        /// <param name="resumable">The resumable.</param>
        /// <param name="wait_time">Time to wait for resuming the resumable.</param>
        /// <returns></returns>
        public static IEnumerator TimedJoin(this IResumable resumable, float waitTime)
        {
            if (waitTime > 0 && !resumable.Finished)
            {
                resumable.Resume(Coroutine.Delta);
            }

            while (waitTime > 0 && !resumable.Finished)
            {
                yield return(null);

                waitTime -= Coroutine.Delta;
                resumable.Resume(Coroutine.Delta);
            }
        }
 public void Add(IResumable resumable)
 {
     _executor.Add(resumable);
 }
 public static IEnumerator Join(this IResumable resumable)
 {
     return(Coroutine.Join(resumable));
 }
 public void Add(IResumable resumable)
 {
     _resumables.Add(resumable);
 }