Beispiel #1
0
    private void onOpen(PageType pageType, Action <bool> onOpen = null)
    {
        if (controllerDic.ContainsKey(pageType) == false)
        {
            Debug.Log("未注册");
            return;
        }
        UIControllerData ControllerData = controllerDic[pageType];

        ControllerData.currentType = 1;
        switch (ControllerData.simpleLoadedState)
        {
        case SimpleLoadedState.None:
            if (WaitLoadDic.ContainsKey(pageType) == false)
            {
                WaitLoadDic.Add(pageType, onOpen);
            }
            else
            {
                WaitLoadDic[pageType] = onOpen;
            }
            LoadPage(pageType);
            break;

        case SimpleLoadedState.Loading:
            if (WaitLoadDic.ContainsKey(pageType) == false)
            {
                WaitLoadDic.Add(pageType, onOpen);
            }
            else
            {
                WaitLoadDic[pageType] = onOpen;
            }
            break;

        case SimpleLoadedState.Success:
            if (controllerDic[pageType].skin == null)
            {
                controllerDic[pageType].skin = controllerDic[pageType].controller.getPage.skin;
            }
            controllerDic[pageType].skin.SetActive(true);
            controllerDic[pageType].controller.awake();
            if (onOpen != null)
            {
                onOpen(true);
            }
            break;

        case SimpleLoadedState.Failed:
            break;

        default:
            if (onOpen != null)
            {
                onOpen(false);
            }
            //上一次加载错误
            break;
        }
    }
Beispiel #2
0
    private UIControllerData inject(PageType pageType, IController uiControllerData)
    {
        UIControllerData controllerData;

        if (controllerDic.TryGetValue(pageType, out controllerData) == true)
        {
            Debug.LogError("Controller注册重复:" + pageType);
            return(controllerData);
        }
        controllerData = new UIControllerData(uiControllerData);
        controllerDic.Add(pageType, controllerData);
        return(controllerData);
    }
Beispiel #3
0
 private void onLoaded(UnityEngine.Object arg1, object arg2)
 {
     try
     {
         PageType pageType = (PageType)arg2;
         if (arg1 != null)
         {
             GameObject goClone = arg1 as GameObject;
             goClone.SetActive(true);
             goClone.transform.SetParent(uiParant);
             UIControllerData controllerData = controllerDic[pageType];
             controllerData.controller.SetData(goClone, false);
             controllerData.skin = goClone;
             controllerData.simpleLoadedState = SimpleLoadedState.Success;
             if (controllerData.currentType == 0)
             {
                 controllerData.controller.sleep();
             }
             if (WaitLoadDic[pageType] != null)
             {
                 WaitLoadDic[pageType](controllerDic[pageType].currentType == 1);
             }
         }
         else
         {
             if (WaitLoadDic[pageType] != null)
             {
                 WaitLoadDic[pageType](false);
             }
         }
     }
     catch (Exception e)
     {
         Debug.Log(" onLoaded" + e.ToString());
     }
     finally
     {
         Debug.Log(" onLoaded");
     }
 }