Esempio n. 1
0
        public UUebViewCore(IUUebView uuebView, IPluggable plugin = null, ResourceLoader.MyHttpRequestHeaderDelegate requestHeader = null, ResourceLoader.MyHttpResponseHandlingDelegate httpResponseHandlingDelegate = null, Action <List <ParseError> > onParseFailed = null)
        {
            if (plugin == null)
            {
                plugin = new DefaultBehaviour();
            }

            this.view = uuebView;

            resLoader = new ResourceLoader(this.LoadParallel, requestHeader, httpResponseHandlingDelegate);
            this.view.AddChild(resLoader.cacheBox.transform);

            layoutMachine      = new LayoutMachine(resLoader, plugin);
            materializeMachine = new MaterializeMachine(resLoader, plugin);

            if (onParseFailed != null)
            {
                this.onParseFailed = onParseFailed;
            }
            else
            {
                this.onParseFailed = errors =>
                {
                    Debug.LogError("parse errors:" + errors.Count);
                    foreach (var error in errors)
                    {
                        Debug.LogError("code:" + error.code + " reason:" + error.reason);
                    }
                };
            }
        }
Esempio n. 2
0
        public void Dequeue(IUUebView view)
        {
            lock (lockObj)
            {
                while (0 < queuedCoroutines.Count)
                {
                    var cor        = queuedCoroutines.Dequeue();
                    var loadCorObj = new LoadingCoroutineObj();
                    var loadingCor = CreateLoadingCoroutine(cor, loadCorObj);
                    view.StartCoroutine(loadingCor);

                    // collect loading coroutines.
                    AddLoading(loadCorObj);
                }

                while (0 < unmanagedCoroutines.Count)
                {
                    var cor = unmanagedCoroutines.Dequeue();
                    view.StartCoroutine(cor);
                }
            }
        }