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); }
public GTWindow GetWindow(EWindowID windowID) { GTWindow window = null; m_AllWindows.TryGetValue(windowID, out window); return(window); }
/// <summary> /// /// </summary> public void PushWindow(EWindowID id) { if (popWindows.Contains(id) == false) { popWindows.Add(id); } }
public void DoLastWindow(EWindowID eWindow_) { if (m_lastWindowID != EWindowID.Max && m_windowDic.ContainsKey(eWindow_)) { m_windowDic[m_lastWindowID].SetActive(false); } m_lastWindowID = eWindow_; }
public T GetWindow <T>(EWindowID windowID) where T : GTWindow { GTWindow baseWindow = null; m_AllWindows.TryGetValue(windowID, out baseWindow); T window = (T)baseWindow; return(window); }
/// <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); } }
/// <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); }
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(); }
/// <summary> /// /// </summary> public void PopWindow() { if (popWindows.Count > 0) { EWindowID id = popWindows[popWindows.Count - 1]; popWindows.RemoveAt(popWindows.Count - 1); OpenWindow(id); } }
/// <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); }
public void HideWindow(EWindowID windowID) { GTWindow window = m_AllWindows[windowID]; if (window == null) { return; } window.HideAsync(); m_OpenWindows.Remove(window); DealWindowStack(window, false); DealMask(); }
/// <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); }
/// <summary> /// 关闭界面 /// </summary> public void CloseWindow(EWindowID id) { BaseWindow window = getWindowByid(id); if (window != null) { Debug.Log("被动关闭"); //if(window.CanPop) //{ // popWindows.Add(id); //} window.Close(); } }
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_); } }
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); } }
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; }
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); } }
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); }
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); }
void RegisterWindow(EWindowID id, GTWindow win) { m_AllWindows[id] = win; win.ID = id; }
public void CloseWindow(EWindowID eWindow_) { Destroy(gameObject); WindowControllerMgr.Instance.WindowDic[eWindow_] = null; WindowControllerMgr.Instance.WindowDic.Remove(eWindow_); }
public override void Read(XmlElement os) { base.Read(os); this.WindowID = os.GetEnum <EWindowID>("WindowID"); }