コード例 #1
0
 public AsyncOperation GetResourceByPathAsync <T>(string path, Action <AsyncResource> callBack, System.Object param) where T : UnityEngine.Object
 {
     if (useStreamAsset)
     {
         return(null);
     }
     else
     {
         ResourceRequest resReq    = Resources.LoadAsync <T>(path);
         AsyncResource   ar        = new AsyncResource(resReq, param);
         SingleAsyncRes  singleRes = new SingleAsyncRes(callBack, ar);
         m_asyncSingleLoadingRes.Add(singleRes);
         return(resReq);
     }
 }
コード例 #2
0
 public AsyncOperation GetResourceByPathAsync(string path, Action <AsyncResource> callBack = null, System.Object param = null)
 {
     if (useStreamAsset)
     {
         return(null);
     }
     else
     {
         ResourceRequest resReq   = Resources.LoadAsync(path);
         AsyncResource   ar       = new AsyncResource(resReq, param);
         SingleAsyncRes  groupRes = new SingleAsyncRes(callBack, ar);
         m_asyncSingleLoadingRes.Add(groupRes);
         return(resReq);
     }
 }
コード例 #3
0
    public void Update()
    {
        //List<GroupAsyncRes> toDelete = new List<GroupAsyncRes>();

        for (int i = 0; i < m_asyncGroupLoadingRes.Count; ++i)
        {
            bool bDone = true;
            foreach (string key in m_asyncGroupLoadingRes[i].m_res.Keys)
            {
                if (!m_asyncGroupLoadingRes[i].m_res[key].asyncOperation.isDone)
                {
                    bDone = false;
                    break;
                }
            }
            if (bDone)
            {
                if (m_asyncGroupLoadingRes[i].m_callBack != null)
                {
                    m_asyncGroupLoadingRes[i].m_callBack(m_asyncGroupLoadingRes[i].m_res);
                }
                //toDelete.Add(m_asyncGroupLoadingRes[i]);
                m_asyncGroupLoadingRes.RemoveAt(i);
                i--;
            }
        }
        for (int i = 0; i < m_asyncSingleLoadingRes.Count; i++)
        {
            SingleAsyncRes sr = m_asyncSingleLoadingRes[i];
            if (sr.m_res.asyncOperation.isDone)
            {
                if (sr.m_callBack != null)
                {
                    sr.m_callBack(sr.m_res);
                }
                m_asyncSingleLoadingRes.RemoveAt(i);
                i--;
            }
        }
        //foreach (var item in toDelete)
        //{
        //    m_asyncGroupLoadingRes.Remove(item);
        //}
    }