コード例 #1
0
 public static IEnumerator If(Func <bool> condition, Cancelator p, params IEnumerator[] actions)
 {
     if (condition())
     {
         yield return(ChainLocal(p, actions));
     }
 }
コード例 #2
0
        static IEnumerator ChainLocal(Cancelator cancel, params IEnumerator[] actions)
        {
            foreach (var action in actions)
            {
                if (cancel.Interrupt)
                {
                    break;
                }
                ++Instance.RunningCount;
                var c = Instance.StartCoroutine(action);
                cancel.last.Add(c);
                yield return(c);

                cancel.last.Remove(c);
                --Instance.RunningCount;
            }
        }
コード例 #3
0
 public static void Chain(Cancelator c, params IEnumerator[] actions)
 {
     c.Interrupt = false;
     c.parent.Add(Instance.StartCoroutine(ChainLocal(c, actions)));
 }