Ejemplo n.º 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);
     }
 }
Ejemplo n.º 2
0
 public void RemoveFromUpdateExecuter(IResumable c)
 {
     if (gamePlayUpdateExecuter.Contains(c))
     {
         gamePlayUpdateExecuter.Remove(c);
     }
 }
Ejemplo n.º 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);
     }
 }
Ejemplo n.º 4
0
 public void RemoveFromUpdateExecuter(IResumable c)
 {
     if (!(gamePlayUnpauseUpdateExecuter.Contains(c) || removeUpdateExecuterCache.Contains(c)))
     {
         removeUpdateExecuterCache.Add(c);
     }
 }
Ejemplo n.º 5
0
 public void AddToUpdateExecuter(IResumable c)
 {
     if (!gamePlayUpdateExecuter.Contains(c))
     {
         gamePlayUpdateExecuter.Add(c);
     }
 }
Ejemplo n.º 6
0
 public void AddToUpdateExecuter(IResumable c)
 {
     if (!(gamePlayUnpauseUpdateExecuter.Contains(c) || addUpdateExecuterCache.Contains(c)))
     {
         addUpdateExecuterCache.Add(c);
     }
 }
Ejemplo n.º 7
0
        public static IEnumerator Join(IResumable resumable)
        {
            resumable.Resume(Coroutine.Delta);
            while (!resumable.Finished)
            {
                yield return(null);

                resumable.Resume(Coroutine.Delta);
            }
        }
Ejemplo n.º 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);
            }
        }
Ejemplo n.º 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);
            }
        }
Ejemplo n.º 10
0
 public void Add(IResumable resumable)
 {
     _executor.Add(resumable);
 }
Ejemplo n.º 11
0
 public static IEnumerator Join(this IResumable resumable)
 {
     return(Coroutine.Join(resumable));
 }
 public void Add(IResumable resumable)
 {
     _resumables.Add(resumable);
 }