private IEnumerator ActiveEntry() { // キャッシュシステムの準備が完了するのを待つ (稼働中に状態が変わらない前提) while (!Caching.ready) { yield return(null); } for (;;) { Asset.Block result = blockList.Find(delegate(Asset.Block block) { return(block.IsRead() == false); }); yield return(result == null ? null : StartCoroutine(Action(result))); if (result != null) { if (result.IsAutoRemoved()) { blockList.Remove(result); } } } }
private IEnumerator Action(Asset.Block block) { yield return(StartCoroutine(block.Read())); yield return(StartCoroutine(block.Callback())); }
public void Add(Block block) { list.Add (block); }