public void GetNoticeData(int type, string scene) { try { INotice service = IApollo.Instance.GetService(5) as INotice; ApolloNoticeInfo info = new ApolloNoticeInfo(); service.GetNoticeData((APOLLO_NOTICETYPE)type, scene, ref info); for (int i = 0; i < info.DataList.Count; i++) { ApolloNoticeData data = info.DataList[i]; } NoticeSys.NOTICE_STATE noticeState = NoticeSys.NOTICE_STATE.LOGIN_Before; if (scene == "1") { noticeState = NoticeSys.NOTICE_STATE.LOGIN_Before; } else if (scene == "2") { noticeState = NoticeSys.NOTICE_STATE.LOGIN_After; } MonoSingleton <NoticeSys> .GetInstance().OnOpenForm(info, noticeState); } catch (Exception exception) { object[] inParameters = new object[] { exception.Message }; DebugHelper.Assert(false, "Error In GetNoticeData, {0}", inParameters); } }
public void OnOpenForm(ApolloNoticeInfo noticeInfo, NoticeSys.NOTICE_STATE noticeState) { this.m_CurState = noticeState; this.m_NoticeDataList = new ListView <NoticeSys.NoticeDataEx>(); this.m_MatchUrlAction.Clear(); ListView <NoticeSys.NoticeDataEx> listView = new ListView <NoticeSys.NoticeDataEx>(); int count = noticeInfo.DataList.get_Count(); for (int i = 0; i < count; i++) { ApolloNoticeData apolloNoticeData = noticeInfo.DataList.get_Item(i); if (apolloNoticeData.MsgType == APOLLO_NOTICETYPE.APO_NOTICETYPE_ALERT) { ListView <UrlAction> listView2 = UrlAction.ParseFromText(apolloNoticeData.ContentUrl, null); if (listView2.Count > 0 && listView2[0].action == UrlAction.Action.openMatchUrl) { this.m_MatchUrlAction.Add(listView2[0]); } else { NoticeSys.NoticeDataEx noticeDataEx = new NoticeSys.NoticeDataEx(); noticeDataEx.apolloNoticeData = apolloNoticeData; if (noticeState == NoticeSys.NOTICE_STATE.LOGIN_After) { if (apolloNoticeData.ContentType == APOLLO_NOTICE_CONTENTTYPE.APO_CONTENTTYPE_WEB && this.IsImageNotice(ref noticeDataEx)) { listView.Add(noticeDataEx); } else { this.m_NoticeDataList.Add(noticeDataEx); } } else { this.m_NoticeDataList.Add(noticeDataEx); } } } } this.InitImageShowTimes(); this.FiterImageNotice(listView); if (this.m_NoticeDataList.Count > 0) { this.ShowNoticeWindow(0); } else if (this.m_CurState == NoticeSys.NOTICE_STATE.LOGIN_After) { this.ShowOtherTips(); } }
public void OnOpenForm(ApolloNoticeInfo noticeInfo, NoticeSys.NOTICE_STATE noticeState) { this.m_CurState = noticeState; this.m_NoticeDataList = new ListView <ApolloNoticeData>(); int count = noticeInfo.get_DataList().get_Count(); for (int i = 0; i < count; i++) { ApolloNoticeData apolloNoticeData = noticeInfo.get_DataList().get_Item(i); if (apolloNoticeData.get_MsgType() == null) { this.m_NoticeDataList.Add(apolloNoticeData); } } if (count > 0) { this.ShowNoticeWindow(0); } else if (this.m_CurState == NoticeSys.NOTICE_STATE.LOGIN_After) { this.ShowOtherTips(); } }