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); } }