Beispiel #1
0
        private void OnPloadProcess(PloadData data)
        {
            PrefabCreator[] pcs = data.Go.GetComponentsInChildren <PrefabCreator>(true);
            for (int i = 0; i < pcs.Length; i++)
            {
                pcs[i].LoadAsset();
            }

            PrefabLoader[] loaders = data.Go.GetComponentsInChildren <PrefabLoader>(true);
            for (int i = 0; i < loaders.Length; i++)
            {
                loaders[i].LoadPrefab();
            }

            if (!CheckPloaded(pcs, loaders, data))
            {
                if (m_IsPloadedHandler == 0)
                {
                    m_IsPloadedHandler = ILRTimerManager.instance.AddTimer(50, int.MaxValue, delegate(int sequence)
                    {
                        CheckPloaded(pcs, loaders, data);
                    });
                }
            }
        }
Beispiel #2
0
        bool CheckPloaded(PrefabCreator[] pcs, PrefabLoader[] loaders, PloadData data)
        {
            bool isPloaded = true;

            for (int i = 0; i < pcs.Length; i++)
            {
                if (!pcs[i].isCurrendAssetLoaded)
                {
                    isPloaded = false;
                    break;
                }
            }

            if (isPloaded)
            {
                for (int i = 0; i < loaders.Length; i++)
                {
                    if (!loaders[i].IsAssetLoaded)
                    {
                        isPloaded = false;
                        break;
                    }
                }
            }

            if (isPloaded)
            {
                if (m_IsPloadedHandler != 0)
                {
                    ILRTimerManager.instance.RemoveTimer(m_IsPloadedHandler);
                    m_IsPloadedHandler = 0;
                }

                if (data.IsHotfix)
                {
                    if (data.Go.GetComponent <UIControllerILR>() == null)
                    {
                        UIControllerILR ucr = data.Go.AddComponent <UIControllerILR>();
                        ucr.hotfixClassPath = hotfixClassPath;
                        ucr.ILRObjInit();
                    }
                    else
                    {
                        UIControllerILR ucr = data.Go.GetComponent <UIControllerILR>();
                        ucr.ILRObjInit();
                    }
                }

                OnAssetProcess(data.AssetName, data.Go);
            }
            return(isPloaded);
        }