/// <summary>
        /// Finish dialog
        /// </summary>
        // ----------------------------------------------------------------------------------------
        public void finishDialog(Action finishDoneCallback)
        {
            if (!this.m_nowShowing)
            {
                return;
            }

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

            if (this.m_refInputBlocker)
            {
                this.m_refInputBlocker.startHiding(() =>
                {
                    this.m_nowShowing = false;
                    this.resumePauseSignalIfNeeded();

                    // resume selectable
                    {
                        UiManager.setSelectable();
                    }

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

            else
            {
                this.m_nowShowing = false;
                this.resumePauseSignalIfNeeded();

                // resume selectable
                {
                    UiManager.setSelectable();
                }

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

            // m_consecutiveShowing
            {
                this.m_consecutiveShowing = false;
            }
        }