예제 #1
0
    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);
                }
            }
        }
    }
예제 #2
0
    private IEnumerator Action(Asset.Block block)
    {
        yield return(StartCoroutine(block.Read()));

        yield return(StartCoroutine(block.Callback()));
    }
예제 #3
0
 public void Add(Block block)
 {
     list.Add (block);
 }