Example #1
0
            IEnumerator OnOpenSheets(CancellableSignal signal)
            {
                var subTaskHandle = new SubTaskHandle(signal);
                var enumerator    = ServiceModelManager.OpenSheetTask(subTaskHandle);

                while (enumerator.MoveNext())
                {
                    this.SetSubProgress(subTaskHandle.Progress);
                    yield return(enumerator.Current);

                    if (CancellableSignal.IsCancelled(signal))
                    {
                        yield break;
                    }
                }

                if (subTaskHandle.IsError)
                {
#if LOG_DEBUG
                    Debug.LogWarning(string.Format("ASSET:EXCEPT:SHEETS:EXCEPT:{0}", subTaskHandle.Except));
#endif// LOG_DEBUG
                    var e = subTaskHandle.Except;
                    this.SetFailed(signal, 'S', e.GetType().Name, e.Message);
                    yield break;
                }

                this.SetSubProgress(1);
                yield return(null);

                if (CancellableSignal.IsCancelled(signal))
                {
                    yield break;
                }
            }
Example #2
0
            public void CloseSingleton()
            {
                this.Stop();

                MVC.ModelDisposer.CloseAll();

                Resources.UnloadUnusedAssets();

                this.progress      = 0;
                this.progressBegin = 0;
                this.progressEnd   = 0;

                this.state       = State.None;
                this.stateErrLog = "";

                ServiceModelManager.Close();
            }
Example #3
0
            public void OpenSingleton()
            {
                ServiceModelManager.Open();

                this.stateMgrs = new StateManager[]
                {
                    null,// None,
                    new StateManager {
                        func = this.OnOpenSheets, progress = 0.1f,
                    },                                                                          // OpenSheets,
                    new StateManager {
                        func = this.OnOpenServiceModels, progress = 0.2f,
                    },               // OpenServiceModels,
                    null,            // Done,
                    null,            // Except,
                };
            }
Example #4
0
            IEnumerator OnOpenServiceModels(CancellableSignal signal)
            {
                var   subTaskHandle = new SubTaskHandle(signal);
                var   tasks         = ServiceModelManager.OpenServiceTask(subTaskHandle);
                int   count         = tasks.Length;
                float progress      = 0f;
                float progressDelta = 1 / (float)count;

                foreach (var task in tasks)
                {
                    subTaskHandle.Clear();

                    while (task.MoveNext())
                    {
                        this.SetSubProgress(progress + (progressDelta * subTaskHandle.Progress));
                        yield return(task.Current);

                        if (CancellableSignal.IsCancelled(signal))
                        {
                            yield break;
                        }
                    }

                    progress += progressDelta;
                    this.SetSubProgress(progress);

                    if (subTaskHandle.IsError)
                    {
#if LOG_DEBUG
                        Debug.LogWarning("ASSET:EXCEPT:SERVICE_MODELS");
#endif// LOG_DEBUG
                        var e = subTaskHandle.Except;
                        this.SetFailed(signal, 'C', e.GetType().Name, e.Message);
                        yield break;
                    }
                }

                this.SetSubProgress(1);
                yield return(null);

                if (CancellableSignal.IsCancelled(signal))
                {
                    yield break;
                }
            }