Esempio n. 1
0
 void ShowHideUIDetail(UIReg.UIEntity entity, bool isShow)
 {
     // todo: can use AysncEvent to scale and fadein or fadeout
     if (isShow)
     {
         if (entity.uiHandler != null)
         {
             entity.uiHandler.OnShow();
         }
         if (entity.cgCom != null)
         {
             entity.cgCom.alpha = 1.0f;
         }
     }
     else
     {
         if (entity.uiHandler != null)
         {
             entity.uiHandler.OnHide();
         }
         if (entity.cgCom != null)
         {
             entity.cgCom.alpha = 0.0f;
         }
     }
 }
Esempio n. 2
0
 void SetEntityValue(UIReg.UIEntity entity, int objID, Transform rootTr, CanvasGroup cgCom, UIHandler handler)
 {
     entity.gameObjID = objID;
     entity.rootTr    = rootTr;
     entity.cgCom     = cgCom;
     entity.uiHandler = handler;
 }
Esempio n. 3
0
 public bool IsShow(string name)
 {
     UIReg.UIEntity entity = null;
     if (!mShowLayerDict.TryGetValue(name, out entity))
     {
         return(entity.cgCom.alpha > Const_Util.FLT_EPSILON);
     }
     return(false);
 }
Esempio n. 4
0
 public void HideUI(string name, bool forceUnload = false)
 {
     UIReg.UIEntity entity = null;
     if (mShowLayerDict.TryGetValue(name, out entity))
     {
         ShowHideUIDetail(entity, false);
         if (forceUnload)
         {
             UnLoadUI(name);
         }
     }
 }
Esempio n. 5
0
 void UnLoadUI(string name)
 {
     UIReg.UIEntity entity = null;
     if (!mShowLayerDict.TryGetValue(name, out entity))
     {
         return;
     }
     entity.uiHandler.OnUnload();
     ResMgr.instance.ReleaseObject(entity.resPath, entity.gameObjID, true);
     mShowLayerList.Remove(entity);
     mShowLayerDict.Remove(name);
     SetEntityValue(entity, 0, null, null, null);
 }
Esempio n. 6
0
    public void ShowUI(string name)
    {
        UIReg.UIEntity entity = null;
        if (!mShowLayerDict.TryGetValue(name, out entity))
        {
            entity = UIReg.instance.GetEntity(name);
            LoadUI(name);
        }

        if (entity != null)
        {
            ShowHideUIDetail(entity, true);
        }
    }
Esempio n. 7
0
    void LoadUI(string name)
    {
        UIReg.UIEntity entity = UIReg.instance.GetEntity(name);
        if (entity.rootTr != null)
        {
            Debug.LogError("UIMgr LoadUI entity.rootTr != null name:" + name);
            return;
        }
        int        objID = 0;
        GameObject go    = ResMgr.instance.CreateObject(entity.resPath, out objID);

        if (go == null)
        {
            Debug.LogError("UIMgr LoadUI go == nullname:" + name);
            return;
        }
        CanvasGroup cgCom = go.GetComponent <CanvasGroup>();

        if (cgCom == null)
        {
            cgCom = go.AddComponent <CanvasGroup>();
        }
        cgCom.interactable   = true;
        cgCom.blocksRaycasts = true;

        go.transform.SetParent(uiRoot);
        UIHandler uiHandler = go.GetComponent(entity.uiType) as UIHandler;

        if (uiHandler == null)
        {
            uiHandler = (go.AddComponent(entity.uiType)) as UIHandler;
        }

        SetEntityValue(entity, objID, go.transform, cgCom, uiHandler);


        Canvas canvas = go.GetComponent <Canvas>();

        canvas.renderMode     = RenderMode.ScreenSpaceCamera;
        canvas.worldCamera    = Camera.main;
        canvas.sortingLayerID = entity.sortingLayer;
        canvas.sortingOrder   = entity.orderLayer;

        uiHandler.OnLoad(go.transform);

        mShowLayerList.Add(entity);
        mShowLayerDict[name] = entity;
    }
Esempio n. 8
0
    public void ReleaseAll()
    {
        for (int i = 0; i < mShowLayerList.Count; i++)
        {
            UIReg.UIEntity entity = mShowLayerList[i];
            if (entity.uiHandler != null)
            {
                entity.uiHandler.OnHide();
                entity.uiHandler.OnUnload();
                ResMgr.instance.ReleaseObject(entity.resPath, entity.gameObjID, true);
            }
        }

        mShowLayerList.Clear();
        mShowLayerDict.Clear();
    }