public override void Backward(IUIBase ui) { if (ui == null) { return; } INGUIInterface ngui_base = ui as INGUIInterface; if (ngui_base == null) { return; } for (int i = 0; i < ngui_base.Panels.Length; i++) { ms_all_depths.Remove(ngui_base.Panels[i].depth); ngui_base.Panels[i].depth = i; } if (ms_all_depths.Count > 0) { ms_cur_top_depth = ms_all_depths[0]; } else { ms_cur_top_depth = MAIN_UI_MAX_DEPTH; } }
/// <summary> /// 实例化界面,并返回当前界面 /// </summary> /// <param UI的名字="uiname"></param> /// <returns></returns> IUIBase GetCurrentUI(string uiname) { //遍历是否有对应元素 foreach (string name in CurrentUI.Keys) { if (uiname == name) { return(CurrentUI[uiname]); } } //给新加的UI找画布 uiParent = transform.Find(ConstData.CanvasName); //生成资源中取出的预制体 GameObject obj = Instantiate(ResourcesManager.Instance.FindUIPrefab(uiname)); //UI界面名字一致性 obj.name = uiname; //统一父级 obj.GetComponent <RectTransform>().parent = uiParent; //局部坐标 obj.GetComponent <RectTransform>().localPosition = Vector3.zero; //UI的缩放 obj.GetComponent <RectTransform>().localScale = Vector3.one; //取得界面脚本的基础接口 IUIBase iuibase = obj.GetComponent <IUIBase>(); //新生成的UI加入CurrentUI的字典 CurrentUI.Add(uiname, iuibase); //返回一个新生成的UI界面 return(iuibase); }
public void AddMask(IUIBase ui_base, UIEventListener.VoidDelegate call_back) { if (ms_mask_manager != null) { ms_mask_manager.AddMask(ui_base, call_back); } }
public static void ClosePopPanel(IUIBase panel) { if (panel == CurrentPopPanel && _popCloseCor == null) { _popCloseCor = TaskEngine.StartCoroutine(ExcutePopPanelCloseTask()); } }
public void OnShowMainUI(IUIBase new_ui) { if (ms_cur_main_ui != null && ms_cur_main_ui != new_ui) { if (ms_main_ui_stack.Contains(new_ui)) { m_stack_cache.Clear(); m_stack_cache.Push(ms_cur_main_ui); while (ms_main_ui_stack.Count > 0) { IUIBase pop_ui = ms_main_ui_stack.Pop(); if (pop_ui == new_ui) { break; } else { m_stack_cache.Push(pop_ui); } } while (m_stack_cache.Count > 0) { IUIBase ui = m_stack_cache.Pop(); ms_main_ui_stack.Push(ui); } } else { ms_main_ui_stack.Push(ms_cur_main_ui); } } ms_cur_main_ui = new_ui; }
private static IEnumerator ExcutePopPanelCloseTask() { yield return(CurrentPopPanel.Close()); CurrentPopPanel = null; _popCloseCor = null; }
public override void Forward(IUIBase ui) { if (ui == null) { return; } INGUIInterface ngui_base = ui as INGUIInterface; if (ngui_base == null) { return; } ms_all_depths.Sort((s1, s2) => s2 - s1); if (ms_all_depths.Count > 0) { ms_cur_top_depth = ms_all_depths[0]; } for (int i = 0; i < ngui_base.Panels.Length; ++i) { ngui_base.Panels[i].depth = ms_cur_top_depth + i + 1; ms_all_depths.Add(ngui_base.Panels[i].depth); } ms_cur_top_depth = ms_cur_top_depth + ngui_base.Panels.Length; }
public void Backward(IUIBase ui) { if (m_ui_layer_mng_handler != null) { m_ui_layer_mng_handler.Backward(ui); } }
private void OnResume(IUIBase ui) { if (ui.Pause) { ui.Pause = false; ui.OnEnableUI(); } }
private void OnPause(IUIBase ui) { if (!ui.Pause) { ui.Pause = true; ui.OnDisableUI(); } }
private void OnCovered(IUIBase ui) { if (!ui.IsCovered) { ui.IsCovered = true; ui.OnCovered(); } }
private void OnReveal(IUIBase ui) { if (ui.IsCovered) { ui.IsCovered = false; ui.OnReveal(); } }
public void EnableUI(IUIBase uiBase) { if (uiBase == null) { throw new System.ArgumentNullException(nameof(uiBase)); } uiBase.OnEnableUI(); }
bool IsShow(IUIBase i_ui_base) { if (i_ui_base == null) { return(false); } return(IsShow(i_ui_base.Name)); }
bool NeedLoadDataBeforeShow(IUIBase ui) { if (ms_register_manager != null) { return(ms_register_manager.NeedLoadDataBeforeShow(ui)); } return(false); }
public IUIBase OnHideMainUI(IUIBase ui) { if (ms_cur_main_ui == ui && ms_main_ui_stack.Count > 0) { ms_cur_main_ui = ms_main_ui_stack.Pop(); return(ms_cur_main_ui); } return(null); }
public void CallUIMethod(UIName ui_name, string method_name) { IUIBase ui = GetUI(ui_name); if (ui == null) { return; } ui.GameObject.SendMessage(method_name); }
/// <summary> /// 添加ui /// </summary> /// <param name="ui"></param> public void AddUI(IUIBase ui) { UIBase temp = ui as UIBase; Transform node = temp.transform; node.SetParent(transform); node.localScale = Vector3.one; uis.AddFirst(temp); Refresh(); }
public void OnOpen(IUIBase ui) { if (openUIs.Contains(ui)) { openUIs.Remove(ui); } openUIs.AddFirst(ui); ui.OnOpen(); Refresh(); }
public void OnClose(int id) { foreach (var item in uiGroups) { IUIBase ui = item.Value.GetUI(id); if (ui != null) { item.Value.OnClose(ui); } } }
public void OnClose(IUIBase ui) { if (openUIs.Contains(ui)) { OnCovered(ui); OnPause(ui); openUIs.Remove(ui); ui.OnClose(); Refresh(); } }
/// <summary> /// 移除UI /// </summary> /// <param name="name"></param> public void RemoveUI(string name) { foreach (var item in uiGroups) { IUIBase ui = item.Value.GetUI(name); if (ui != null) { item.Value.RemoveUI(ui); } } }
void ShowUIWhenLoaded(IUIBase ui_base, object data = null) { if (ui_base != null) { ShowUIAsync(ui_base, data); } else { Debug.LogError("ShowUIWhenLoaded, null"); } }
public void UnLockUI(IUIBase i_ui_base, string lock_type) { if (i_ui_base != null && i_ui_base.Name == UIName.UILock) { return; } if (ms_lock_manager != null) { ms_lock_manager.UnLockUI(lock_type); } }
/// <summary> ///隐藏UI /// </summary> public void OnClose(string name) { foreach (var item in uiGroups) { IUIBase ui = item.Value.GetUI(name); if (ui != null) { item.Value.OnClose(ui); } } }
public void RemoveUI(int id) { foreach (var item in uiGroups) { IUIBase ui = item.Value.GetUI(id); if (ui != null) { item.Value.RemoveUI(ui); } } }
public IUIBase ForceGetUI(UIName ui_name, string ui_dir_path = "") { IUIBase ui = m_ui_res_mgr.GetLoadedUI(ui_name); if (ui == null) { m_ui_res_mgr.LoadUI(ui_name, null, ui_dir_path); ui = m_ui_res_mgr.GetLoadedUI(ui_name); HideUIAsync(ui); } return(ui); }
bool HasLockUI(IUIBase i_ui_base, string lock_type) { if (i_ui_base != null && i_ui_base.Name == UIName.UILock) { return(false); } if (ms_lock_manager != null) { return(ms_lock_manager.HasLockUI(lock_type)); } return(false); }
public void Forward(IUIBase ui) { if (ui == null) { return; } ms_opened_ui_count++; if (ms_layer_manager != null) { ms_layer_manager.Forward(ui); } }
public void Backward(IUIBase ui) { if (ui == null) { return; } ms_opened_ui_count--; if (ms_layer_manager != null) { ms_layer_manager.Backward(ui); } }