/// <summary>
        /// Start www loadings sub
        /// </summary>
        /// <returns>IEnumerator</returns>
        // -------------------------------------------------------------------------------------------------------
        protected IEnumerator startWwwStartupSub()
        {
            int size = this.m_wwwsList.Count;

            WwwStartupContents wwws = null;

            // ----------------------

            for (int i = 0; i < size; i++)
            {
                // hasError break
                {
                    if (this.hasError())
                    {
                        break;
                    }
                }

                // ----------------------

                wwws = this.m_wwwsList[i];

                // ----------------------

                // continue if not NotYet
                {
                    if (wwws.currentWorkingState != StartupContents.WorkingState.NotYet)
                    {
                        continue;
                    }
                }

                // NowWorking
                {
                    wwws.currentWorkingState = StartupContents.WorkingState.NowWorking;
                }

                // loadWwwStartupContents
                {
                    yield return(this.loadWwwStartupContents(wwws));
                }

                // DoneSuccessOrError
                {
                    wwws.currentWorkingState = StartupContents.WorkingState.DoneSuccessOrError;
                }
            }
        }
        /// <summary>
        /// Load WwwStartupContents
        /// </summary>
        /// <param name="wwws">WwwStartupContents</param>
        /// <returns>IEnumerator</returns>
        // -------------------------------------------------------------------------------------------------------
        protected IEnumerator loadWwwStartupContents(WwwStartupContents wwws)
        {
            if (wwws == null)
            {
                yield break;
            }

            // ---------------------

            // WWW
            {
                float noProgressTimer  = 0.0f;
                float previousProgress = 0.0f;

                using (WWW www = new WWW(wwws.url))
                {
#if !UNITY_WEBGL
                    www.threadPriority = this.m_threadPriority;
#endif

                    // set progressValueFunc
                    {
                        wwws.progressValueFunc = () =>
                        {
                            return((www != null) ? www.progress : 0.0f);
                        };
                    }

                    // set urlIfNeeded
                    {
                        wwws.urlIfNeeded = wwws.url;
                    }

                    // wait www done
                    {
                        while (!www.isDone)
                        {
                            if (wwws.progressAction != null)
                            {
                                wwws.progressAction(www);
                            }

                            // timeout
                            {
                                if (this.m_noProgressTimeOutSeconds > 0.0f)
                                {
                                    if (Mathf.Approximately(previousProgress, www.progress))
                                    {
                                        noProgressTimer += Time.deltaTime;
                                    }

                                    else
                                    {
                                        noProgressTimer = 0.0f;
                                    }

                                    previousProgress = www.progress;

                                    if (noProgressTimer >= this.m_noProgressTimeOutSeconds)
                                    {
                                        wwws.errorMessage = this.messageTimeout();
                                        break;
                                    }
                                }
                            }

                            yield return(null);
                        } // while (!www.isDone)

                        if (wwws.progressAction != null)
                        {
                            wwws.progressAction(www);
                        }

                        yield return(null);
                    }

                    // success or fail
                    {
                        // set errorMessage
                        {
                            if (string.IsNullOrEmpty(wwws.errorMessage))
                            {
                                wwws.errorMessage = www.error;
                            }
                        }

                        // success
                        if (string.IsNullOrEmpty(wwws.errorMessage))
                        {
                            if (wwws.successAction != null)
                            {
                                wwws.successAction(www);
                            }
                        }

                        // fail
                        else
                        {
                            if (wwws.failedAction != null)
                            {
                                wwws.failedAction(www);
                            }

                            // updateError
                            {
                                this.updateError(wwws);
                            }
                        }
                    }

                    // set progressValueFunc to null
                    {
                        wwws.progressValueFunc = null;
                    }
                } // using
            }
        }