Exemple #1
0
    public UIViewBase OpenWindow(string windowID, params object[] args)
    {
        if (!m_AllWindows.ContainsKey(windowID))
        {
            return(null);
        }
        UIViewBase window = m_AllWindows[windowID];

        //m_Sort++;
        m_PreMinDepths[window.Type] += 2;
        int m_Sort = m_PreMinDepths[window.Type];

        window.Sort = m_Sort;
        DealWindowStack(window, true);
        window.Root = CanvasRoot.transform;
        if (window.MaskType != EWindowMaskType.None)
        {
            //EventCenter.Notify(EventID.PlayerEvent_StopJoystick);
        }
        if (window.ShowMode == EWindowShowMode.SaveTarget && m_MutexStacks.Count > 0)
        {
            UIViewBase w = m_MutexStacks[m_MutexStacks.Count - 1];
            window.TargetID = w.ID;
        }
        if (m_OpenWindows.Contains(window) == false)
        {
            m_OpenWindows.Add(window);
        }
        window.SetData(args);
        window.ShowAsync();

        if (window.transform == null)
        {
            return(null);
        }

        //RefreshDepth(window);
        RefreshMask();
        window.OnLoadSubWindows();
        return(window);
    }