public void Init(WindowID wndId) { bool bContain = LocalDataManager.Instance().m_UIFrame_Dict.ContainsKey(wndId.ToString()); if (!bContain) { ShowFrame(false); Debug.LogWarning(string.Format("该窗口{0}, 还没加入到UIFrame中", wndId.ToString())); return; } dbc.UIFrame frame = LocalDataManager.Instance().m_UIFrame_Dict[wndId.ToString()]; //没有Frame的窗口 if (frame.FrameType == 0) { ShowFrame(false); } //根据窗口类型显示不同的排版显示 //type = 1 顶栏显示 ,其他类型暂时没写 else if (frame.FrameType == 1) { //跟上一次的一样直接显示 if (m_LastFrame != null && m_LastFrame.BarContent.Equals(frame.BarContent)) { ShowFrame(true); } else { ShowFrame(GetFrameItemArray(frame)); } } m_LastFrame = frame; }
public override void ShowWindow(WindowID id, ShowWindowData data) { if (!IsWindowInControl(id)) { Debug.Log("UIRankManager has no control power of " + id.ToString()); return; } if (shownWindows.ContainsKey(id)) { return; } if (allWindows.ContainsKey(id)) { UIBaseWindow baseWindow = allWindows[id]; if (baseWindow.windowData.showMode == UIWindowShowMode.NeedBack) { BackWindowSequenceData backData = new BackWindowSequenceData(); backData.hideTargetWindow = baseWindow; backSequence.Push(backData); } allWindows[id].ShowWindow(); shownWindows[id] = allWindows[id]; this.lastShownNormalWindow = this.curShownNormalWindow; curShownNormalWindow = baseWindow; } }
public BaseWindow OpenWindow(WindowID windowID) { if (!mAllWindows.ContainsKey(windowID)) { return(null); } BaseWindow window = mAllWindows[windowID]; DealWindowStack(window, true); window.Show(); Transform trans = window.CacheTransform; CameraManage.Instance.AddUI(trans.gameObject); List <BaseWindow> list = null; mOpenWindows.TryGetValue(window.Type, out list); if (list == null) { list = new List <BaseWindow>(); mOpenWindows[window.Type] = list; } list.Add(window); return(window); }
public override void ShowWindow(WindowID id, ShowWindowData showData) { if (!IsWindowInControl(id)) { Debuger.Log("UIRankManager has no control power of " + id.ToString()); return; } if (dicShownWindows.ContainsKey((int)id)) return; if (dicAllWindows.ContainsKey((int)id)) { UIBaseWindow baseWindow = dicAllWindows[(int)id]; if (baseWindow.ID != id) { Debuger.LogError(string.Format("[UIRankManager BaseWindowId :{0} != shownWindowId :{1}]", baseWindow.ID, id)); return; } if (baseWindow.windowData.navigationMode == UIWindowNavigationMode.NormalNavigation) { BackWindowSequenceData backData = new BackWindowSequenceData(); backData.hideTargetWindow = baseWindow; backSequence.Push(backData); } this.RealShowWindow(baseWindow, baseWindow.ID, showData); } }
private void PopNavigationUI(NavigationData nd) { if (backSequence.Count > 0) { backSequence.Pop(); } if (nd.beingHidedUI == null) { return; } //显示所有的保存的UI for (int i = 0; i < nd.beingHidedUI.Count; i++) { WindowID backId = nd.beingHidedUI[i]; ShowWindowForNavigation(backId); if (i == nd.beingHidedUI.Count - 1) { UIControllerBase window = GetGameWindowFromCache(backId); if (window.UIConfigData.navigationMode == UIWindowNavigationMode.NormalNavigation) { this.lastNavigationWindow = this.curNavigationWindow; this.curNavigationWindow = window; } } } }
public override void ShowWindow(WindowID id, ShowWindowData showData) { if (!IsWindowInControl(id)) { Debuger.Log("UIRankManager has no control power of " + id.ToString()); return; } if (dicShownWindows.ContainsKey((int)id)) { return; } if (dicAllWindows.ContainsKey((int)id)) { UIBaseWindow baseWindow = dicAllWindows[(int)id]; if (baseWindow.ID != id) { Debuger.LogError(string.Format("[UIRankManager BaseWindowId :{0} != shownWindowId :{1}]", baseWindow.ID, id)); return; } if (baseWindow.windowData.navigationMode == UIWindowNavigationMode.NormalNavigation) { BackWindowSequenceData backData = new BackWindowSequenceData(); backData.hideTargetWindow = baseWindow; backSequence.Push(backData); } this.RealShowWindow(baseWindow, baseWindow.ID, showData); } }
/// <summary> /// Hide target window /// </summary> public virtual void HideWindow(WindowID id, Action onCompleted = null) { if (!IsWindowRegistered(id)) { return; } if (!dicShownWindows.ContainsKey((int)id)) { return; } if (dicShownWindows.ContainsKey((int)id)) { //关闭后 从显示字典删除 Action competedAction = delegate { dicShownWindows.Remove((int)id); }; if (onCompleted != null) { competedAction += onCompleted; } dicShownWindows[(int)id].HideWindow(competedAction); } }
public BaseWindow GetWindow(WindowID windowID) { BaseWindow window = null; mAllWindows.TryGetValue(windowID, out window); return(window); }
/// <summary> /// 预加载指定窗口 /// </summary> /// <param name="winId"></param> public static void PreloadWindow(WindowID winId) { IView viewInstance = CtrlManager.GetViewInstance(winId); viewInstance.WinId = winId; UIManager.Instance.PreloadWindow(viewInstance.WinId.ToString(), viewInstance.WinResCfg); }
private void RefreshBackSequenceData(UIBaseWindow targetWindow, ShowWindowData showData) { WindowCoreData coreData = targetWindow.windowData; bool dealBackSequence = true; if (dicShownWindows.Count > 0 && dealBackSequence) { List <WindowID> removedKey = null; List <UIBaseWindow> sortedHiddenWindows = new List <UIBaseWindow>(); BackWindowSequenceData backData = new BackWindowSequenceData(); foreach (KeyValuePair <int, UIBaseWindow> window in dicShownWindows) { if (coreData.showMode != UIWindowShowMode.DoNothing) { if (window.Value.windowData.windowType == UIWindowType.Fixed) { continue; } if (removedKey == null) { removedKey = new List <WindowID>(); } removedKey.Add((WindowID)window.Key); window.Value.HideWindowDirectly(); } if (window.Value.windowData.windowType != UIWindowType.Fixed) { sortedHiddenWindows.Add(window.Value); } } if (removedKey != null) { for (int i = 0; i < removedKey.Count; i++) { dicShownWindows.Remove((int)removedKey[i]); } } // Push new navigation data if (coreData.navigationMode == UIWindowNavigationMode.NormalNavigation && (showData == null || (!showData.ignoreAddNavData))) { // Add to return show target list sortedHiddenWindows.Sort(this.compareWindowFun); List <WindowID> navHiddenWindows = new List <WindowID>(); for (int i = 0; i < sortedHiddenWindows.Count; i++) { WindowID pushWindowId = sortedHiddenWindows[i].ID; navHiddenWindows.Add(pushWindowId); } backData.hideTargetWindow = targetWindow; backData.backShowTargets = navHiddenWindows; backSequence.Push(backData); Debuger.Log("<color=cyan>### !!!Push new Navigation data!!! ###</color>"); } } }
private static void OnCloseWindow(CloseWindowEventArgs args) { if (args.IsSuccess) { WindowID key = (WindowID)((int)Enum.Parse(typeof(WindowID), args.WinName)); if (CtrlManager.mDicWindCtrls.ContainsKey(key)) { IView view = CtrlManager.mDicWindCtrls[key]; view.HandleBeforeCloseView(); view.IsOpened = false; view.CancelUpdateHandler(); if (args.IsRestart) { view.OnRestart(); } if (args.IsDestroy) { view.Destroy(); CtrlManager.mDicWindCtrls.Remove(key); } CtrlManager.mDicOpenCtrls.Remove(key); } } else { WindowID key2 = (WindowID)((int)Enum.Parse(typeof(WindowID), args.WinName)); if (CtrlManager.mDicWindCtrls.ContainsKey(key2)) { CtrlManager.mDicWindCtrls.Remove(key2); } } }
/// <summary> /// 打开指定窗口,使用指定视图控制器 /// </summary> /// <param name="winId"></param> /// <param name="ctrl"></param> public static void OpenWindow(WindowID winId, IView ctrl = null) { try { if (CtrlManager.mDicOpenCtrls.ContainsKey(winId)) { if (winId == WindowID.TipView) { CtrlManager.OnOpenWindow(new OpenWindowEventArgs(true, winId.ToString(), CtrlManager.mDicOpenCtrls[winId].uiWindow)); } } else { IView view = ctrl; if (view == null) { view = CtrlManager.GetViewInstance(winId); } view.WinId = winId; CtrlManager.mDicWindCtrls[winId] = view; UIManager.Instance.OpenWindow(view.WinId.ToString(), view.WinResCfg); } } catch (Exception e) { ClientLogger.LogException(e); } }
private void ExectuteBackSeqData(NavigationData nd) { // // stack count check /// if (backSequence.Count > 0) { backSequence.Pop(); } if (nd.backShowTargets == null) { return; } for (int i = 0; i < nd.backShowTargets.Count; i++) { WindowID backId = nd.backShowTargets[i]; ShowWindowForNavigation(backId); if (i == nd.backShowTargets.Count - 1) { UIWindowBase window = GetGameWindow(backId); if (window.windowData.navigationMode == UIWindowNavigationMode.NormalNavigation) { this.lastNavigationWindow = this.curNavigationWindow; this.curNavigationWindow = window; Debug.Log("<color=magenta>##[UIManagerBase return window]##</color> Change currentShownNormalWindow : " + backId); } } } }
public void CloseWindow(WindowID wndId) { if (!IsWindowInControl(wndId)) { Debuger.LogError("## Current UI Manager has no control power of " + wndId.ToString()); return; } if (!dicShownWindows.ContainsKey((int)wndId)) { return; } UIBaseWindow window = dicShownWindows[(int)wndId]; if (this.backSequence.Count > 0) { BackWindowSequenceData seqData = this.backSequence.Peek(); if (seqData != null && seqData.hideTargetWindow == window) { PopNavigationWindow(); Debuger.Log("<color=magenta>## close window use PopNavigationWindow() ##</color>"); return; } } HideWindow(wndId); Debuger.Log("<color=magenta>## close window without PopNavigationWindow() ##</color>"); }
/// <summary> /// 设置界面显示 /// </summary> /// <param name="id">界面id</param> public void SetTheActive(WindowID id) { //显示界面 SetTheActive(id, ref _prefab_Dictionary, true); if (TheActiveStack.Count > 0) { WindowID current_ID = TheActiveStack.Peek(); //若打开界面与前一界面层级相同,关闭前一界面 if (UIResourceDefine.windowLayer[current_ID] == UIResourceDefine.windowLayer[id]) { if (current_ID != id) { SetTheActive(current_ID, ref _prefab_Dictionary, false); } } else { //层级不同,则开启遮罩层 SetTheActive(WindowID.WindowID_MyMask, ref _prefab_Dictionary, true); } } if (!TheActiveStack.Contains(id)) { //将显示界面加入栈中 TheActiveStack.Push(id); } }
private void InitGUI() { //Coordinate Select ChaFileDefine.CoordinateType[] coordinateList = new ChaFileDefine.CoordinateType[] { ChaFileDefine.CoordinateType.School01, ChaFileDefine.CoordinateType.School02, ChaFileDefine.CoordinateType.Gym, ChaFileDefine.CoordinateType.Swim, ChaFileDefine.CoordinateType.Club, ChaFileDefine.CoordinateType.Plain, ChaFileDefine.CoordinateType.Pajamas, }; List <string> coordinateStringList = new List <string>(); for (int i = 0; i < coordinateList.Count(); i++) { coordinateStringList.Add(coordinateList[i].ToString()); } coordinateSelect = new CoordinateSelect(coordinateStringList.ToArray(), coordinateList, ""); //Preset select presetSelectBust = new PresetSelect(PluginPath.presetDirBust, "Load Bust preset", 0, 20); presetSelectHip = new PresetSelect(PluginPath.presetDirHip, "Load Hip preset", 0, 20); //Save dialog s_dialog = new DialogSavePreset(_parent, _s_dialogID, "Save preset", SDRect); //message box msgBox = new MessageBox(WindowID.GetNewID()); }
public override void ShowWindow(WindowID id, ShowWindowData data) { if (!IsWindowInControl(id)) { Debug.Log("UIRankManager has no control power of " + id.ToString()); return; } if (shownWindows.ContainsKey(id)) return; if (allWindows.ContainsKey(id)) { UIBaseWindow baseWindow = allWindows[id]; if (baseWindow.windowData.showMode == UIWindowShowMode.NeedBack) { BackWindowSequenceData backData = new BackWindowSequenceData(); backData.hideTargetWindow = baseWindow; backSequence.Push(backData); } allWindows[id].ShowWindow(); shownWindows[id] = allWindows[id]; this.lastShownNormalWindow = this.curShownNormalWindow; curShownNormalWindow = baseWindow; } }
protected override UIBaseWindow ReadyToShowBaseWindow(WindowID id, ShowWindowData showData = null) { // 检测控制权限 if (!this.IsWindowInControl(id)) { Debug.Log("UIManager has no control power of " + id.ToString()); return(null); } if (shownWindows.ContainsKey(id)) { return(null); } UIBaseWindow baseWindow = GetGameWindow(id); bool newAdded = false; if (!baseWindow) { newAdded = true; // 窗口不存在从内存进行加载 if (UIResourceDefine.windowPrefabPath.ContainsKey(id)) { string prefabPath = UIResourceDefine.UIPrefabPath + UIResourceDefine.windowPrefabPath[id]; GameObject prefab = Resources.Load <GameObject>(prefabPath); if (prefab != null) { GameObject uiObject = (GameObject)GameObject.Instantiate(prefab); NGUITools.SetActive(uiObject, true); baseWindow = uiObject.GetComponent <UIBaseWindow>(); // 需要动态添加对应的控制界面,prefab不用添加脚本 Transform targetRoot = GetTargetRoot(baseWindow.windowData.windowType); GameUtility.AddChildToTarget(targetRoot, baseWindow.gameObject.transform); allWindows[id] = baseWindow; } } } if (baseWindow == null) { Debug.LogError("[window instance is null.]" + id.ToString()); } // 重置界面(第一次添加,强制Reset) if (newAdded || (showData != null && showData.forceResetWindow)) { baseWindow.ResetWindow(); } // 显示界面固定内容 // 导航系统数据更新 RefreshBackSequenceData(baseWindow); // 调整层级depth AdjustBaseWindowDepth(baseWindow); // 添加背景Collider AddColliderBgForWindow(baseWindow); return(baseWindow); }
public void RemoveView(WindowID windowID) { if (window_View.ContainsKey(windowID)) { NGUITools.Destroy(window_View[windowID]); window_View.Remove(windowID); } }
private void OnWindowClose(WindowID closeID, List <WindowID> holdlist) { if ((holdlist.Count == 1) && (((WindowID)holdlist[0]) == WindowID.WindowID_Main)) { this.bCheckOnlyMain = true; this.bOnlyMain = true; } }
/// <summary> /// 关闭指定窗口 /// </summary> /// <param name="winId"></param> public static void CloseWindow(WindowID winId) { if (!CtrlManager.mDicOpenCtrls.ContainsKey(winId)) { return; } UIManager.Instance.CloseWindow(winId.ToString()); }
private static void CloseCurrencyInternal() { if (mCurrentCurrencyID != WindowID.WindowID_Invaild) { CloseWindow(mCurrentCurrencyID); mCurrentCurrencyID = WindowID.WindowID_Invaild; } }
private void OnWindowOpen(WindowID openID, List <WindowID> holdlist) { if (openID != WindowID.WindowID_Main) { this.bCheckOnlyMain = false; this.bOnlyMain = false; } }
public override void ShowWindow(WindowID id, ShowWindowData showData = null) { UIBaseWindow baseWindow = ReadyToShowBaseWindow(id, showData); if (baseWindow != null) { RealShowWindow(baseWindow, id, showData); } }
protected bool PopNavigationWindow() { #region 导航信息为空 if (backSequence.Count == 0) { if (curNavigationWindow == null) { return(false); } //如果当前navigation的栈是空, 就检查当前UI的配置PrewindowID, 打开 WindowID preWindowId = curNavigationWindow.UIConfigData.PreWindowId; if (preWindowId != WindowID.WindowID_Invaild) { Debug.LogWarning(string.Format(string.Format("## Current nav window {0} need show pre window {1}.", curNavigationWindow.ID.ToString(), preWindowId.ToString()))); HideWindow(curNavigationWindow.ID, delegate { //不执行导航 WindowContextDataBase showData = new WindowContextDataBase(); showData.executeNavLogic = false; ShowWindow(preWindowId, showData); }); } else { Debug.LogWarning("## CurrentShownWindow " + curNavigationWindow.ID + " preWindowId is " + WindowID.WindowID_Invaild); } return(false); } #endregion NavigationData backData = backSequence.Peek(); if (backData != null) { // check the current navigation data int curId = this.GetCurrentShownWindow(); if (curId != (int)backData.showingUI.ID) { Debug.Log("<color=red>当前导航Stack里面信息不对 [backData.showingUI.ID != this.curShownWindowId]</color>"); return(false); } //关闭当前的UI, 恢复显示stack里面保存的UI WindowID showingId = backData.showingUI.ID; if (!dicShownWindows.ContainsKey((int)showingId)) { PopNavigationUI(backData); } else { HideWindow(showingId, delegate { PopNavigationUI(backData); }); } } return(true); }
protected override UIBaseWindow ReadyToShowBaseWindow(WindowID id) { // 检测控制权限 if (!this.IsWindowInControl(id)) { Debug.Log("UIManager has no control power of " + id.ToString()); return(null); } if (ShownWindows.ContainsKey(id)) { return(null); } // 隐藏callWindowId指向窗口 /*if(showData != null) * HideWindow(showData.callWindowId, null);*/ UIBaseWindow baseWindow = GetGameWindow(id); bool newAdded = false; if (!baseWindow) { newAdded = true; // 窗口不存在从内存进行加载 if (AppConst.windowPrefabPath.ContainsKey(id)) { GameObject prefab = ResourcesMgr.Instance.LoadResource <GameObject>(ResourceType.RESOURCE_UI, AppConst.windowPrefabPath[id]); if (prefab != null) { GameObject uiObject = (GameObject)GameObject.Instantiate(prefab); Util.SetActive(uiObject, true); baseWindow = uiObject.GetComponent <UIBaseWindow>(); Util.AddChildToTarget(UINormalWindowRoot, baseWindow.transform); AllWindows[id] = baseWindow; } } } if (baseWindow == null) { Debug.LogError("[window instance is null.]" + id.ToString()); return(null); } if (newAdded) { baseWindow.ResetWindow(); } //// 导航系统数据更新 //RefreshBackSequenceData(baseWindow); //// 调整层级depth //AdjustBaseWindowDepth(baseWindow); //// 添加背景Collider //AddColliderBgForWindow(baseWindow); return(baseWindow); }
public void OpenWindow(WindowID ID) { if (BlockLobbyWindows) { return; } CloseWindows(); ID.Ventana.SetActive(true); }
public void ShowWindow(WindowID id, WindowContextDataBase showContextData = null) { UIControllerBase baseWindow = PrepareUI(id, showContextData); if (baseWindow != null) { Show(baseWindow, id, showContextData); } }
public LayoutInfo() { this.mColWidths = new System.Collections.Generic.List <int>(); this.mWindowID = WindowID.kUnknown; this.mMaximised = false; this.mSize = new Size(-1, -1); this.mLocation = new Point(-1, -1); this.mLocked = true; }
public LayoutInfo() { this.mColWidths = new System.Collections.Generic.List<int>(); this.mWindowID = WindowID.kUnknown; this.mMaximised = false; this.mSize = new Size(-1, -1); this.mLocation = new Point(-1, -1); this.mLocked = true; }
protected override UIBaseWindow ReadyToShowBaseWindow(WindowID id, ShowWindowData showData = null) { // 检测控制权限 if (!this.IsWindowInControl(id)) { Debug.Log("UIManager has no control power of " + id.ToString()); return null; } if (shownWindows.ContainsKey(id)) return null; // 隐藏callWindowId指向窗口 /*if(showData != null) HideWindow(showData.callWindowId, null);*/ UIBaseWindow baseWindow = GetGameWindow(id); bool newAdded = false; if (!baseWindow) { newAdded = true; // 窗口不存在从内存进行加载 if (UIResourceDefine.windowPrefabPath.ContainsKey(id)) { string prefabPath = UIResourceDefine.UIPrefabPath + UIResourceDefine.windowPrefabPath[id]; GameObject prefab = Resources.Load<GameObject>(prefabPath); if (prefab != null) { GameObject uiObject = (GameObject)GameObject.Instantiate(prefab); NGUITools.SetActive(uiObject, true); baseWindow = uiObject.GetComponent<UIBaseWindow>(); // 需要动态添加对应的控制界面,prefab不用添加脚本 Transform targetRoot = GetTargetRoot(baseWindow.windowData.windowType); GameUtility.AddChildToTarget(targetRoot, baseWindow.gameObject.transform); allWindows[id] = baseWindow; } } } if (baseWindow == null) Debug.LogError("[window instance is null.]" + id.ToString()); // 重置界面(第一次添加,强制Reset) if (newAdded || (showData != null && showData.forceResetWindow)) baseWindow.ResetWindow(); // 显示界面固定内容 // 导航系统数据更新 RefreshBackSequenceData(baseWindow); // 调整层级depth AdjustBaseWindowDepth(baseWindow); // 添加背景Collider AddColliderBgForWindow(baseWindow); return baseWindow; }
public void SendWindowMsg(WindowID targetWindow, WindowMessage msg, params object[] args) { if (!AllWindowScript.ContainsKey(targetWindow)) { return; } if (!AllWindowScript[targetWindow]) { return; } AllWindowScript[targetWindow].SendWindowMsg(msg, args); }
public virtual T GetGameWindowScript <T>(WindowID id) where T : UIWindowBase { UIWindowBase baseWindow = GetGameWindow(id); if (baseWindow != null) { return((T)baseWindow); } return((T)((object)null)); }
/// <summary> /// 从控制器管理器中移除指定窗口ID对应的视图控制器 /// </summary> /// <param name="winId"></param> public static void RemoveCtrl(WindowID winId) { if (CtrlManager.mDicWindCtrls.ContainsKey(winId)) { CtrlManager.mDicWindCtrls.Remove(winId); } if (CtrlManager.mDicOpenCtrls.ContainsKey(winId)) { CtrlManager.mDicOpenCtrls.Remove(winId); } }
public bool Exist(WindowID id) { foreach (var v in cacheWndDict) { if (id == v.Value.wndID) { return(true); } } return(false); }
public LayoutInfo Get(WindowID id) { for (int i = 0; i < this.mLayouts.Count; i++) { if (this.mLayouts[i].mWindowID == id) return this.mLayouts[i]; } LayoutInfo li = new LayoutInfo(); li.mWindowID = id; this.mLayouts.Add(li); return li; }
public void CloseWindow(WindowID id) { Debug.Log("CloseWindow [" + id + "]"); if (!AllWindowScript.ContainsKey(id)) { Debug.LogError("窗口 " + id + " 不存在"); return; } if (!AllWindowScript[id].gameObject) { Debug.LogError("窗口 " + id + " 物体为空"); return; } AllWindowScript[id].gameObject.SetActive(false); AllWindowScript[id].DisableTime = Time.time; }
public override void ShowWindow(WindowID id, ShowWindowData data = null) { UIBaseWindow baseWindow = ReadyToShowBaseWindow(id, data); if (baseWindow != null) { RealShowWindow(baseWindow, id); // 是否清空当前导航信息(回到主菜单) if (baseWindow.windowData.isStartWindow) { Debuger.Log("[Enter the start window, reset the backSequenceData for the navigation system.]"); ClearBackSequence(); } if (data != null && data.forceClearBackSeqData) ClearBackSequence(); } }
public void SetMatchResult(bool isWin, WindowID backWindowId) { targetBackWindowId = backWindowId; if (isWin) { NGUITools.SetActive(gbLoseContent, false); NGUITools.SetActive(gbWinContent, true); lbResultMsg.text = "Win the matching Feel Good."; lbResult.text = "WIN"; } else { NGUITools.SetActive(gbLoseContent, true); NGUITools.SetActive(gbWinContent, false); lbResult.text = "LOSE"; lbResultMsg.text = "Lose the matching Do better next Time."; } }
public bool Load(StreamReader sr) { string l1; while ((l1 = sr.ReadLine()) != null) { if (l1 == "--") return true; int p = l1.IndexOf('='); if (p == -1) continue; string what = l1.Substring(0, p); l1 = l1.Substring(p + 1); switch (what) { case "ColWidths": while ((p = l1.IndexOf(' ')) != -1) { int n = int.Parse(l1.Substring(0, p)); l1 = l1.Substring(p + 1); this.mColWidths.Add(n); } break; case "Maximised": this.mMaximised = l1 == "1"; break; case "Size": { p = l1.IndexOf(' '); int x = int.Parse(l1.Substring(0, p)); int y = int.Parse(l1.Substring(p + 1)); this.mSize = new System.Drawing.Size(x, y); } break; case "Location": { p = l1.IndexOf(' '); int x = int.Parse(l1.Substring(0, p)); int y = int.Parse(l1.Substring(p + 1)); this.mLocation = new Point(x, y); } break; case "WindowID": { int n = int.Parse(l1); this.mWindowID = (WindowID) n; } break; } } return false; }
public override void HideWindow(WindowID id, System.Action onComplete) { CheckDirectlyHide(id, onComplete); }
public void SetMatchingData(WindowID backIWindowId) { targetBackWindowId = backIWindowId; }
public override void HideWindow(WindowID id, Action onComplete = null) { CheckDirectlyHide(id, onComplete); }
protected override UIBaseWindow ReadyToShowBaseWindow(WindowID id, ShowWindowData showData = null) { // Check the window control state if (!this.IsWindowInControl(id)) { Debuger.Log("## UIManager has no control power of " + id.ToString()); return null; } // If the window in shown list just return if (dicShownWindows.ContainsKey((int)id)) return null; UIBaseWindow baseWindow = GetGameWindow(id); // If window not in scene start Instantiate new window to scene bool newAdded = false; if (!baseWindow) { newAdded = true; if (UIResourceDefine.windowPrefabPath.ContainsKey((int)id)) { string prefabPath = UIResourceDefine.UIPrefabPath + UIResourceDefine.windowPrefabPath[(int)id]; GameObject prefab = Resources.Load<GameObject>(prefabPath); if (prefab != null) { GameObject uiObject = (GameObject)GameObject.Instantiate(prefab); NGUITools.SetActive(uiObject, true); // NOTE: You can add component to the window in the inspector // Or just AddComponent<UIxxxxWindow>() to the target baseWindow = uiObject.GetComponent<UIBaseWindow>(); if (baseWindow.ID != id) { Debuger.LogError(string.Format("<color=cyan>[BaseWindowId :{0} != shownWindowId :{1}]</color>", baseWindow.ID, id)); return null; } // Get the window target root parent Transform targetRoot = GetTargetRoot(baseWindow.windowData.windowType); GameUtility.AddChildToTarget(targetRoot, baseWindow.gameObject.transform); dicAllWindows[(int)id] = baseWindow; } } } if (baseWindow == null) Debuger.LogError("[window instance is null.]" + id.ToString()); // Call reset window when first load new window // Or get forceResetWindow param if (newAdded || (showData != null && showData.forceResetWindow)) baseWindow.ResetWindow(); if (showData == null || (showData != null && showData.executeNavLogic)) { // refresh the navigation data ExecuteNavigationLogic(baseWindow, showData); } // Adjust the window depth AdjustBaseWindowDepth(baseWindow); // Add common background collider to window AddColliderBgForWindow(baseWindow); return baseWindow; }
//显示窗口(关闭其余所有界面,显示新界面) public void ShowWindow(WindowID id) { Debug.Log("ShowWindow [" + id + "]"); HideAllWindow(); if (AllWindowScript.ContainsKey(id) && AllWindowScript[id].gameObject != null) { AllWindowScript[id].gameObject.SetActive(true); } else { string prefabPath = UIResourceDefine.Instance.windowPrefabPath[id]; GameObject window = NGUITools.AddChild(UIPanelRoot, prefabPath); UIBaseWindow script = window.GetComponent<UIBaseWindow>(); script.windowID = id; script.preWindowID = CurWindow; if (AllWindowScript.ContainsKey(id)) AllWindowScript[id] = script; else AllWindowScript.Add(id, script); } CurWindow = id; }