Example #1
0
 internal void End()
 {
     OnEnd();
     if (IsInsideComparableCollection)
     {
         RemoveFromComparableCollection();
         Coroutine.ComparableEnd(Owner);
     }
     running = false;
 }
        public void Process(CoroutineGroup group)
        {
            UnrealBinaryHeapEx <T> collection = GetCollection(group);

            while (collection.Count > 0)
            {
                T instruction = collection.HeapTop();
                if (instruction.KeepWaiting)
                {
                    return;
                }
                collection.HeapPopDiscard();

                // Return the control over to the main coroutines collection
                instruction.comparableCollection = null;
                Coroutine.ComparableEnd(instruction.Owner);
            }
        }