protected IEnumerator RevealAllOverTime() { Queue <StackItem> itemsToReveal = new Queue <StackItem> (); Debug.Log("Searching for items..."); yield return(StartCoroutine(WIGroups.GetAllStackItemsByType(WIGroups.Get.World.Path, new List <string> () { "Location" }, GroupSearchType.SavedOnly, itemsToReveal))); Debug.Log("Adding items to revealed list..."); while (itemsToReveal.Count > 0) { StackItem item = itemsToReveal.Dequeue(); if (item != null) { RevealedLocations.SafeAdd(item.StaticReference); } yield return(null); } Debug.Log("Done revealing"); }