Example #1
0
 public void HideWindow(string windowName)
 {
     if (mFrontWindows.ContainsKey(windowName))
     {
         BaseWindow window = mFrontWindows[windowName];
         window.Close();
         mFrontWindows.Remove(windowName);
         mBackgroundWindows.Add(windowName, window);
     }
 }
Example #2
0
 public void Update(float deltaTime)
 {
     for (int i = mWindowLoadInfoList.Count - 1; i >= 0; i--)
     {
         WindowLoadInfo  loadInfo = mWindowLoadInfoList[i];
         ResourceRequest request  = loadInfo.mResourceRequest;
         if (request.isDone)
         {
             GameObject  prefab     = request.asset as GameObject;
             WindowInfo  info       = loadInfo.info;
             System.Type windowType = System.Type.GetType("LClient." + info.className);
             if (windowType != null)
             {
                 BaseWindow window   = (BaseWindow)System.Activator.CreateInstance(windowType);
                 GameObject instance = GameObject.Instantiate(prefab);
                 if (mCanvas.ContainsKey(info.layer))
                 {
                     RectTransform rect = instance.GetComponent <RectTransform>();
                     rect.SetParent(mCanvas[info.layer], false);
                     if (!loadInfo.isBackground)
                     {
                         window.Create(instance, true);
                         mFrontWindows.Add(info.name, window);
                     }
                     else
                     {
                         window.Create(instance, false);
                         mBackgroundWindows.Add(info.name, window);
                     }
                     WindowLoadFinishHandle callback = loadInfo.callback;
                     if (callback != null)
                     {
                         callback.Invoke(window);
                     }
                 }
             }
             mWindowLoadInfoList.RemoveAt(i);
         }
     }
 }