void OnGridUIEvent(UIEventType eventType, object data, object param) { switch (eventType) { case UIEventType.Click: if (data is UIServerListGrid) { UIServerListGrid serverGrid = data as UIServerListGrid; if (serverGrid != null) { HideSelf(); Mgr.SetCurSelectZoneIndex(serverGrid.Index); DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.LoginPanel, data: LoginPanel.ShowUIEnum.StartGame); } } else if (data is UIZonePageGrid) { UIZonePageGrid zoneGrid = data as UIZonePageGrid; if (zoneGrid != null) { if (m_cur_page_index != zoneGrid.Index) { m_cur_page_index = zoneGrid.Index; m_ctor_LeftPanel.SetSelect(zoneGrid); ShowAreaServerData(); } } } break; } }
protected override void OnLoading() { m_ldMgr = DataManager.Manager <LoginDataManager>(); GameObject lastNode = NGUITools.AddChild(m_trans_topRoot.gameObject, m_sprite_SeverItemPrefab.gameObject); lastNode.SetActive(true); lastNode.transform.parent = m_trans_topRoot; lastNode.transform.localPosition = Vector3.zero; lastNode.transform.localScale = Vector3.one; lastNode.name = "-1"; m_MyServerListGrid = lastNode.AddComponent <UIServerListGrid>(); m_MyServerListGrid.RegisterUIEventDelegate(OnGridUIEvent); m_MyServerListGrid.isLastZone = true; InitWidgets(); }
void InitZone() { m_label_LabelServer.text = ""; DataManager.Manager <LoginDataManager>().IpStr = null; Pmd.ZoneInfo curZoneInfo = null; if (GlobalConfig.Instance().Test) { curZoneInfo = Mgr.GetZoneInfo(GlobalConfig.Instance().TestServerId); } else { curZoneInfo = Mgr.GetZoneInfo(); } int zoneState = 4; string zoneName = ""; if (null != curZoneInfo) { //有可用区服 zoneState = UIServerListGrid.GetZoneOnlineStatus(curZoneInfo); zoneName = curZoneInfo.zonename; DataManager.Manager <LoginDataManager>().StartCheckServerStateTimer(); } else { //无可用区服 zoneState = 4; zoneName = "无可用区服"; } if (m_spriteEx_status != null) { m_spriteEx_status.ChangeSprite(zoneState); } if (null != m_label_LabelServer) { m_label_LabelServer.text = zoneName; } }
void OnGridDataUpdate(UIGridBase data, int index) { if (m_pages != 0 && m_cur_page_index >= 0 && m_cur_page_index < m_pages) { AreaServerPageData pageData = null; if (data is UIServerListGrid) { UIServerListGrid listGrid = data as UIServerListGrid; pageData = m_ldMgr.GetPageData(m_cur_page_index); if (null == pageData) { return; } LoginDataManager.EnableZoneInfo enableZoneInfo = null; if (pageData.TryGetEanbleZoneInfo(index, out enableZoneInfo)) { listGrid.SetServerListGridData(m_ldMgr.GetZoneInfoByIndex(enableZoneInfo.Index), enableZoneInfo.Index); } } else if (data is UIZonePageGrid) { pageData = m_ldMgr.GetPageData(index); if (null == pageData) { return; } UIZonePageGrid zoneGrid = data as UIZonePageGrid; if (null != zoneGrid) { bool active = (m_cur_page_index == index); zoneGrid.SetServerPageData(pageData.PageName, index, active); } } } }