/// <summary> /// /// </summary> /// <param name="mode"></param> /// <param name="force"></param> private void SetMode(ClanDeclareMode mode, bool force = false) { if (m_em_cur == mode && !force) { return; } UITabGrid tabGrid = null; if (null != m_dic_tabs && m_dic_tabs.TryGetValue(m_em_cur, out tabGrid)) { tabGrid.SetHightLight(false); } if (null != m_dic_tabs && m_dic_tabs.TryGetValue(mode, out tabGrid)) { tabGrid.SetHightLight(true); } m_em_cur = mode; UpdateVisibleWidgets(); if (mode == ClanDeclareMode.History) { BuildHistoryList(); } else if (mode == ClanDeclareMode.Search) { ClearSearchInfo(); } }
protected override void OnLoading() { base.OnLoading(); RegisterGlobalUIEvent(true); m_lst_datas = new List <uint>(); if (null != m_input_Input) { m_input_Input.onChange.Add(new EventDelegate(() => { m_str_inpuSearchInfo = TextManager.GetTextByWordsCountLimitInUnicode(m_input_Input.value , TextManager.CONST_NAME_MAX_WORDS); m_input_Input.value = m_str_inpuSearchInfo; })); m_input_Input.onSubmit.Add(new EventDelegate(() => { m_str_inpuSearchInfo = TextManager.GetTextByWordsCountLimitInUnicode(m_input_Input.value , TextManager.CONST_NAME_MAX_WORDS); m_input_Input.value = m_str_inpuSearchInfo; })); } m_dic_tabs = new Dictionary <ClanDeclareMode, UITabGrid>(); m_dic_ts = new Dictionary <ClanDeclareMode, Transform>(); UITabGrid tab = null; Transform ts = null; for (ClanDeclareMode i = ClanDeclareMode.None + 1; i < ClanDeclareMode.Max; i++) { if (null != m_trans_ToggleContent) { ts = m_trans_ToggleContent.Find(i.ToString()); if (null == ts) { continue; } tab = ts.GetComponent <UITabGrid>(); if (null == tab) { tab = ts.gameObject.AddComponent <UITabGrid>(); } tab.SetGridData(i); tab.RegisterUIEventDelegate(OnGridEventDlg); m_dic_tabs.Add(i, tab); } if (null != m_trans_Content) { ts = m_trans_Content.Find(i.ToString()); if (null == ts) { continue; } m_dic_ts.Add(i, ts); } } SetMode(ClanDeclareMode.History, true); }
/// <summary> /// 刷新可见组件 /// </summary> private void UpdateVisibleWidgets() { Transform ts = null; if (null != m_dic_ts) { for (ClanDeclareMode i = ClanDeclareMode.None + 1; i < ClanDeclareMode.Max; i++) { if (m_dic_ts.TryGetValue(i, out ts) && ts.gameObject.activeSelf != (i == m_em_cur)) { ts.gameObject.SetActive(i == m_em_cur); } } } }