Ejemplo n.º 1
0
    public GTWindow OpenWindow(EWindowID windowID)
    {
        if (!m_AllWindows.ContainsKey(windowID))
        {
            return(null);
        }
        GTWindow window = m_AllWindows[windowID];

        DealWindowStack(window, true);
        window.Show();
        Transform trans = window.transform;

        if (trans == null)
        {
            return(null);
        }
        if (window.MaskType != EWindowMaskType.None)
        {
            GTEventCenter.FireEvent(GTEventID.TYPE_FORCE_STOPJOYSTICK);
        }
        if (window.ShowMode == EWindowShowMode.SaveTarget && m_MutexStacks.Count > 0)
        {
            GTWindow w = m_MutexStacks[m_MutexStacks.Count - 1];
            window.TargetID = w.ID;
        }
        GTCameraManager.Instance.AddUI(trans.gameObject);
        if (m_OpenWindows.Contains(window) == false)
        {
            m_OpenWindows.Add(window);
        }
        RefreshDepth(window);
        DealMask();
        return(window);
    }
Ejemplo n.º 2
0
    public GTWindow GetWindow(EWindowID windowID)
    {
        GTWindow window = null;

        m_AllWindows.TryGetValue(windowID, out window);
        return(window);
    }
Ejemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 public void PushWindow(EWindowID id)
 {
     if (popWindows.Contains(id) == false)
     {
         popWindows.Add(id);
     }
 }
Ejemplo n.º 4
0
    public void DoLastWindow(EWindowID eWindow_)
    {
        if (m_lastWindowID != EWindowID.Max && m_windowDic.ContainsKey(eWindow_))
        {
            m_windowDic[m_lastWindowID].SetActive(false);
        }

        m_lastWindowID = eWindow_;
    }
Ejemplo n.º 5
0
    public T        GetWindow <T>(EWindowID windowID) where T : GTWindow
    {
        GTWindow baseWindow = null;

        m_AllWindows.TryGetValue(windowID, out baseWindow);
        T window = (T)baseWindow;

        return(window);
    }
Ejemplo n.º 6
0
 /// <summary>
 /// 移除
 /// </summary>
 /// <param name="id"></param>
 public void removeWindowById(EWindowID id)
 {
     if (windowDict.ContainsKey(id))
     {
         BaseWindow window = windowDict[id];
         window.onDestroy -= DestroyWindow;
         windowDict.Remove(id);
     }
 }
Ejemplo n.º 7
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="id"></param>
    /// <param name="isAutoClose"></param>
    /// <returns></returns>
    public BaseWindow OpenWindow(EWindowID id, bool isAutoClose)
    {
        BaseWindow window = OpenWindow(id);

        if (window)
        {
        }
        return(window);
    }
Ejemplo n.º 8
0
 private void OnCloseClick(GameObject go)
 {
     GTAudioManager.Instance.PlayEffectAudio(GTAudioKey.SOUND_UI_CLOSE);
     if (mLeftWindows.ContainsKey(mShow))
     {
         EWindowID closeID = mLeftWindows[mShow];
         GTWindowManager.Instance.CloseWindow(closeID);
     }
     Hide();
 }
Ejemplo n.º 9
0
    /// <summary>
    ///
    /// </summary>
    public void PopWindow()
    {
        if (popWindows.Count > 0)
        {
            EWindowID id = popWindows[popWindows.Count - 1];

            popWindows.RemoveAt(popWindows.Count - 1);

            OpenWindow(id);
        }
    }
Ejemplo n.º 10
0
    /// <summary>
    /// 根据id获取窗口
    /// </summary>
    /// <param name="id"></param>
    public BaseWindow getWindowByid(EWindowID id)
    {
        BaseWindow window = null;

        if (windowDict.ContainsKey(id) == true)
        {
            window = windowDict[id];
        }

        return(window);
    }
Ejemplo n.º 11
0
    public void     HideWindow(EWindowID windowID)
    {
        GTWindow window = m_AllWindows[windowID];

        if (window == null)
        {
            return;
        }
        window.HideAsync();
        m_OpenWindows.Remove(window);
        DealWindowStack(window, false);
        DealMask();
    }
Ejemplo n.º 12
0
    /// <summary>
    /// 打开界面
    /// </summary>
    public BaseWindow OpenWindow(EWindowID id)
    {
        BaseWindow window = getWindowByid(id);

        if (window == null)
        {
            //添加窗口脚本组件
            switch (id)
            {
            case EWindowID.Alert:
                window = gameObject.AddComponent <GlobalAlertWindow>();
                Debug.Log("add alert ");
                break;

            case EWindowID.Test:
                window = gameObject.AddComponent <TestWindow>();
                break;

            case EWindowID.Test2:
                window = gameObject.AddComponent <TestWindow2>();
                break;

            default:
                break;
            }
        }

        if (window)
        {
            //存储window
            windowDict[id] = window;
            //显示
            window.Show();
            //保存widId
            window.WidowId = id;
            //添加委托
            window.onDestroy += DestroyWindow;

            if (window.CanPop)
            {
                //是否已经存在
                if (curWindows.Contains(id) == false)
                {
                    curWindows.Add(id);
                }
            }
        }
        Debug.Log(windowDict.Count);
        return(window);
    }
Ejemplo n.º 13
0
    /// <summary>
    /// 关闭界面
    /// </summary>
    public void CloseWindow(EWindowID id)
    {
        BaseWindow window = getWindowByid(id);

        if (window != null)
        {
            Debug.Log("被动关闭");
            //if(window.CanPop)
            //{
            //    popWindows.Add(id);
            //}

            window.Close();
        }
    }
Ejemplo n.º 14
0
    public void OpenWindow(EWindowID eWindow_)
    {
        GameObject objWindow = null;

        if (m_windowDic.ContainsKey(eWindow_))
        {
            objWindow = m_windowDic[eWindow_];
        }
        else
        {
            objWindow             = ResourcesLoadMgr.Instance.LoadUI(UINameDefine.Instance.WindowName[eWindow_], tf_mainUI);
            m_windowDic[eWindow_] = objWindow;

            DoLastWindow(eWindow_);
        }
    }
Ejemplo n.º 15
0
 private void Switch(Func func)
 {
     if (mSelectFunc == func)
     {
         return;
     }
     if (mSelectFunc != Func.Func_None)
     {
         EWindowID id = mFuncWindows[mSelectFunc];
         GTWindowManager.Instance.HideWindow(id);
     }
     mSelectFunc = func;
     if (mSelectFunc != Func.Func_None)
     {
         EWindowID newID = mFuncWindows[mSelectFunc];
         GTWindowManager.Instance.OpenWindow(newID);
     }
 }
Ejemplo n.º 16
0
 private void LoadLeftWindow(EBagType bagType)
 {
     if (bagType == mShow)
     {
         return;
     }
     if (mLeftWindows.ContainsKey(mShow))
     {
         EWindowID closeWindowID = mLeftWindows[mShow];
         GTWindowManager.Instance.HideWindow(closeWindowID);
     }
     if (mLeftWindows.ContainsKey(bagType))
     {
         EWindowID openWindowID = mLeftWindows[bagType];
         GTWindowManager.Instance.OpenWindow(openWindowID);
     }
     mShow = bagType;
 }
Ejemplo n.º 17
0
 private void Switch(Func func)
 {
     if (mSelectFunc == func)
     {
         return;
     }
     if (mSelectFunc != Func.Func_None)
     {
         EWindowID id = mFuncWindows[mSelectFunc];
         GTWindowManager.Instance.CloseWindow(id);
     }
     mSelectFunc = func;
     if (mSelectFunc != Func.Func_None)
     {
         EWindowID newID  = mFuncWindows[mSelectFunc];
         GTWindow  window = GTWindowManager.Instance.OpenWindow(newID);
         window.SetParent(this);
     }
 }
Ejemplo n.º 18
0
    public void     CloseWindow(EWindowID windowID)
    {
        GTWindow window = mAllWindows[windowID];

        if (window == null)
        {
            return;
        }
        EWindowType type = window.Type;

        window.Close();
        List <GTWindow> list = null;

        mOpenWindows.TryGetValue(type, out list);
        if (list != null)
        {
            list.Remove(window);
        }
        DealWindowStack(window, false);
    }
Ejemplo n.º 19
0
    public GTWindow OpenWindow(EWindowID windowID)
    {
        if (!mAllWindows.ContainsKey(windowID))
        {
            return(null);
        }
        GTWindow window = mAllWindows[windowID];

        DealWindowStack(window, true);
        window.Show();
        Transform trans = window.CacheTransform;

        if (trans == null)
        {
            return(null);
        }
        if (window.Type == EWindowType.WINDOW)
        {
            CloseAllWindowByType(EWindowType.DIALOG);
        }
        if (window.Type == EWindowType.WINDOW || window.Type == EWindowType.DIALOG)
        {
            GTEventCenter.FireEvent(GTEventID.TYPE_STOP_JOYSTICK);
        }
        GTCameraManager.Instance.AddUI(trans.gameObject);
        List <GTWindow> list = null;

        mOpenWindows.TryGetValue(window.Type, out list);
        if (list == null)
        {
            list = new List <GTWindow>();
            mOpenWindows[window.Type] = list;
        }
        list.Add(window);
        RefreshDepth(window);
        return(window);
    }
Ejemplo n.º 20
0
 void RegisterWindow(EWindowID id, GTWindow win)
 {
     m_AllWindows[id] = win;
     win.ID           = id;
 }
Ejemplo n.º 21
0
 public void CloseWindow(EWindowID eWindow_)
 {
     Destroy(gameObject);
     WindowControllerMgr.Instance.WindowDic[eWindow_] = null;
     WindowControllerMgr.Instance.WindowDic.Remove(eWindow_);
 }
Ejemplo n.º 22
0
 public override void Read(XmlElement os)
 {
     base.Read(os);
     this.WindowID = os.GetEnum <EWindowID>("WindowID");
 }