Exemplo n.º 1
0
 //---------------------------------------------------------------------
 public static void Show(string packageName, string winName, WindowAsynHandler handler, params object[] data)
 {
     if (Instance != null)
     {
         Instance.DoShow(packageName, winName, handler, data);
     }
 }
Exemplo n.º 2
0
 //---------------------------------------------------------------------
 public static void Show(string packageName, string winName, WindowAsynHandler handler)
 {
     if (Instance != null)
     {
         Instance.DoShow(packageName, winName, handler, null);
     }
 }
Exemplo n.º 3
0
 public ShowInfo(Type type, WindowAsynHandler handler, object[] data)
 {
     this.type    = type;
     this.data    = data;
     this.handler = handler;
     this.win     = null;
 }
Exemplo n.º 4
0
 public void Window(string packageName, string name, WindowAsynHandler handler, params object[] data)
 {
     if (Instance == null)
     {
         return;
     }
     Instance.LoadWindow(packageName, name, handler, data);
 }
Exemplo n.º 5
0
        //---------------------------------------------------------------------
        private void DoShow(string packageName, string name, WindowAsynHandler handler, object[] data)
        {
            m_RequestShows.Add(name);
            LoadWindow(packageName, name, delegate(UIWindow win, object data1) {
                if (null == win)
                {
                    LOG.Erro("*** [UIManager] DoShow(win=null, type={0})", name);
                    return;
                }
                if (handler != null)
                {
                    handler(win, data);
                }

                m_RequestShows.Remove(name);
                win.InternalShow(data);
            }, data);
        }
Exemplo n.º 6
0
        private void LoadWindow(string packageName, string name, WindowAsynHandler handler, object[] data)
        {
            if (string.IsNullOrEmpty(name))
            {
                return;
            }
            UIWindow win = GetWindow(name);

            if (win != null && win.IsInitialized())
            {
                if (handler != null)
                {
                    handler(win, data);
                }

                return;
            }

            List <PendingInfo> pendingInfoList = null;

            if (!m_PendingWindows.TryGetValue(name, out pendingInfoList))
            {
                pendingInfoList = new List <PendingInfo>();
                m_PendingWindows.Add(name, pendingInfoList);

                if (handler != null)
                {
                    pendingInfoList.Add(new PendingInfo(handler, data));
                }
            }
            else
            {
                if (handler != null)
                {
                    pendingInfoList.Add(new PendingInfo(handler, data));
                }

                return;
            }

            LoadWindowInternal(packageName, name);
        }
Exemplo n.º 7
0
 public PendingInfo(WindowAsynHandler handler, object[] data)
 {
     this.data    = data;
     this.handler = handler;
 }