/// <summary>
        /// Hide IEnumerator base
        /// </summary>
        /// <returns>IEnumerator</returns>
        // ------------------------------------------------------------------------------------------
        protected virtual IEnumerator hideBase(Action hideDoneCallback)
        {
            this.m_shState = ShowHideState.NowHidingTransition;

            yield return(null);

            if (this.m_delaySecondsForHiding > 0.0f)
            {
                yield return(new WaitForSeconds(this.m_delaySecondsForHiding));
            }

            {
                yield return(this.hide());
            }

            this.m_shState = ShowHideState.NowHiding;

            if (hideDoneCallback != null)
            {
                hideDoneCallback();
            }
        }
        /// <summary>
        /// Show IEnumerator base
        /// </summary>
        /// <returns>IEnumerator</returns>
        // ------------------------------------------------------------------------------------------
        protected virtual IEnumerator showBase(Action showDoneCallback)
        {
            this.m_shState = ShowHideState.NowShowingTransition;

            yield return(null);

            if (this.m_delaySecondsForShowing > 0.0f)
            {
                yield return(new WaitForSeconds(this.m_delaySecondsForShowing));
            }

            {
                yield return(this.show());
            }

            this.m_shState = ShowHideState.NowShowing;

            if (showDoneCallback != null)
            {
                showDoneCallback();
            }
        }