Exemplo n.º 1
0
    private void OnCompleted(WaitCoroutine wc)
    {
        WaitForWww www = (WaitForWww)wc;

        mWwwList.Remove(www);

        if (wc.mState == WaitState.Error)
        {
            IsError = true;
        }

        if (OnSubCompleted != null)
        {
            OnSubCompleted(www);
        }
    }
Exemplo n.º 2
0
    public void DoUpdate()
    {
        if (State == MultiState.Puase || State == MultiState.Done)
        {
            return;
        }

        if (IsWaitLoad && mWwwList.Count > 0)
        {
            return;
        }

        int count = -1;

        while (++count < parallelCount && (count + index) < mResList.Count)
        {
#if USE_5_BUNDLE
            string url = AppSetting.ResourceUrl + "/" + mResList[index + count];
#else
            string url = AppSetting.ResourceUrl + "/" + mResList[index + count] + ".assetbundle";
#endif
            WaitForWww www = new WaitForWww {
                OnCompleted = OnCompleted
            };
            mWwwList.Add(www);
            www.Start(url);
        }
        index += count;

        //	finish
        if (mWwwList.Count == 0)
        {
            State = MultiState.Done;

            if (OnAllCompleted != null)
            {
                OnAllCompleted(this);
            }
            Reset();
        }
    }
Exemplo n.º 3
0
    /// <summary>
    /// 一个原子资源加载完成
    /// </summary>
    /// <param name="www"></param>

    private void OnLoadCompleted(WaitForWww www)
    {
        string        name    = Path.GetFileNameWithoutExtension(www.Url);
        ResourcesData resData = null;

        if (mCacheData.TryGetValue(name, out resData))
        {
            resData.IsLoad = true;

            if (www.mState == WaitState.Done)
            {
                resData.AddReference();
                resData.Bundle = www.Www.assetBundle;
            }
            else
            {
                Debug.LogError(string.Format("Load Fail : {0} [{1}]", name, www.Url));
            }
        }
        else
        {
            Debug.LogError(string.Format("Can't find name : {0} [{1}]", name, www.Url));
        }
    }
Exemplo n.º 4
0
 public Coroutine Start(string url)
 {
     mWww = new WaitForWww();
     return(mWww.Start(url));
 }