Exemple #1
0
    private void ShowUIAsync_Tips(int uiid, Action <UIBase, int> callback = null, params object[] argv)
    {
        ResMgr.Log(Tag, "ShowUIAsync", "==>" + uiid);
        UITips ub = (UITips)_ins.m_uicache[uiid];

        if (ub == null)
        {
            Action <GameObject> cb = (go) =>
            {
                if (m_uiRoot == null)
                {
                    Debug.Log("muiRoot is null");
                }
                go.transform.SetParent(m_uiRoot.transform, false);
                go.transform.localPosition = Vector3.zero;
                go.transform.localScale    = Vector3.one;
                ub      = go.GetComponent <UITips>();
                ub.argv = argv;
                ub.OnShowTips();
                _ins.m_uicache[uiid] = ub;
                if (callback != null)
                {
                    callback(ub, uiid);
                }
            };
            LoadUIAsync(uiid, cb);
        }
        else
        {
            ub.argv = argv;
            ub.gameObject.SetActive(true);
            ub.OnShowTips();
            if (ub.IsNeedMask)
            {
                if (!m_bgMask.gameObject.activeInHierarchy)
                {
                    m_bgMask.Show();
                }
                m_bgMask.transform.SetSiblingIndex(-2);
            }
            ub.transform.SetAsLastSibling();
            if (callback != null)
            {
                callback(ub, uiid);
            }
        }
    }