예제 #1
0
        private void OnHideEnd()
        {
            log.Debug("{0} HideEnd", name);
            InputBlocker.Hide(this);
            eventReg.DeregisterEvents();
            try
            {
                PostClose();
            } catch (Exception e)
            {
                log.Error(e);
            }
            if (tabs != null)
            {
                tabs.CloseAndResetTab();
            }
            PopupCallback callback = closeCallback;

            this.closeCallback = null;
            releasables.Release();
            if (callback != null)
            {
                callback();
            }
            if (onHideEnd != null)
            {
                onHideEnd();
            }
            if (!shared)
            {
                Object.Destroy(go);
            }
        }
예제 #2
0
 private void OnShowEnd()
 {
     log.Debug("{0} ShowEnd", name);
     if (window.buttonHandler != null)
     {
         window.buttonHandler.enabled = true;
     }
     try
     {
         SetLayer();
         SetContentsLazy();
     } catch (Exception ex)
     {
         log.Error(ex);
     }
     try
     {
         PostOpen();
     } catch (Exception e)
     {
         log.Error(e);
     }
     InputBlocker.Hide(this);
     if (onShowEnd != null)
     {
         onShowEnd();
     }
     loadData.consumed = true;
     if (openCallback != null)
     {
         openCallback();
         openCallback = null;
     }
     InputBlocker.Hide(this);
 }
예제 #3
0
 public virtual void Close()
 {
     closed = true;
     log.Debug("Close {0}", name);
     if (window.Status == UIPanelStatus.Showing)
     {
         window.Close();
     }
     else
     {
         log.Warn("Too early close request for {0}", this);
         window.Hide(null, true);
         loadData.consumed = true;
         InputListenerStack.inst.Pop(this);
     }
     InputBlocker.Hide(this);
 }