コード例 #1
0
 public void Destroy()
 {
     if (WWWType != GOEngine.WWWType.WWW && loadWWW != null)
     {
         loadWWW.Dispose();
         loadWWW = null;
     }
     mState      = MultiLoaderState.None;
     IsDestroyed = true;
 }
コード例 #2
0
 public void Destroy()
 {
     if (WWWType != WWWType.WWW && loadWWW != null)
     {
         loadWWW.Dispose();
         loadWWW = null;
     }
     if (abRequest != null)
     {
         abRequest = null;
     }
     mState      = MultiLoaderState.None;
     IsDestroyed = true;
 }
コード例 #3
0
        public void Update()
        {
            if (mState == MultiLoaderState.None)
            {
                BeginPreload();
                NextState();
            }
            else if (mState == MultiLoaderState.Preload)
            {
                if (pendingDependencies == null || pendingDependencies.Count == 0)
                {
                    BeginLoad();
                    NextState();
                }
            }
            if (mState == MultiLoaderState.Load)
            {
                if (IsAllDone())
                {
#if DEBUG_BUNDLE_CACHE
                    ResourceMgr.Instance().SampleLoadEvent(mName, 3);
#endif
                    NextState();
                }
                float pro = Progress;

                if (pro != mLastProgress)
                {
                    mLastProgress  = pro;
                    mBeginLoadTime = 0;
                }
                else
                {
                    mBeginLoadTime += Time.deltaTime;
                }

                if (mBeginLoadTime >= MaxLoadTime)
                {
                    mState = MultiLoaderState.None;

                    Logger.GetFile(LogFile.Res).LogError("dead link: " + mName);
                }
            }
        }
コード例 #4
0
        public void Update()
        {
            //第一步:加载依赖包
            if (mState == MultiLoaderState.None)
            {
                BeginPreload();
                NextState();
            }
            else if (mState == MultiLoaderState.Preload)        //第二步:依赖包都有效的情况下,加载本资源
            {
                if (m_pendingDependencies == null || m_pendingDependencies.Count == 0)
                {
                    BeginLoad();
                    NextState();
                }
            }
            if (mState == MultiLoaderState.Load)        //第三步:检查当前资源是否加载完成
            {
                if (IsAllDone())
                {
#if DEBUG_BUNDLE_CACHE
                    ResourceMgr.Instance().SampleLoadEvent(mName, 3);
#endif
                    NextState();
                }
                float pro = Progress;

                if (pro != mLastProgress)
                {
                    mLastProgress  = pro;
                    mBeginLoadTime = 0;
                }
                else
                {
                    mBeginLoadTime += Time.deltaTime;
                }

                if (mBeginLoadTime >= MaxLoadTime)
                {
                    mState = MultiLoaderState.None;
                }
            }
        }
コード例 #5
0
 protected void NextState()
 {
     mState += 1;
 }