コード例 #1
0
 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);
     }
 }
コード例 #2
0
    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();
        }
    }
コード例 #3
0
    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();
        }
    }