示例#1
0
 public void TabChange(MailWindow.TabType tabType)
 {
     MailWindow.TabType currentTab = this.currentTab;
     this.currentTab = tabType;
     if (currentTab != this.currentTab)
     {
         MonoSingleton <GameManager> .Instance.Player.CurrentMails = new List <MailData>(1);
     }
     this.AddPage(0);
 }
示例#2
0
        private MailWindow.TabData GetTab(MailWindow.TabType tabType)
        {
            switch (tabType)
            {
            case MailWindow.TabType.NotPeriod:
                return(this.notPeriodTab);

            case MailWindow.TabType.Period:
                return(this.periodTab);

            case MailWindow.TabType.Read:
                return(this.readTab);

            default:
                return((MailWindow.TabData)null);
            }
        }
示例#3
0
        public void Activated(int pinID)
        {
            int num = pinID;

            switch (num)
            {
            case 1:
                this.currentTab = this.startTab;
                this.Refresh();
                bool flag1 = false;
                bool flag2 = false;
                switch (this.startTab)
                {
                case MailWindow.TabType.NotPeriod:
                    flag1 = MonoSingleton <GameManager> .Instance.Player.UnreadMail;
                    flag2 = MonoSingleton <GameManager> .Instance.Player.UnreadMailPeriod;
                    break;

                case MailWindow.TabType.Period:
                    flag1 = MonoSingleton <GameManager> .Instance.Player.UnreadMailPeriod;
                    flag2 = MonoSingleton <GameManager> .Instance.Player.UnreadMail;
                    break;

                case MailWindow.TabType.Read:
                    flag1 = true;
                    break;
                }
                if (flag1)
                {
                    this.LateActivateOutputLinks(50);
                    break;
                }
                if (flag2)
                {
                    this.LateActivateOutputLinks(51);
                    break;
                }
                this.LateActivateOutputLinks(50);
                break;

            case 2:
                this.TabChange(MailWindow.TabType.NotPeriod);
                if (this.currentTabData.currentPageIsReady)
                {
                    this.UpdateUI();
                    this.ActivateOutputLinks(52);
                    break;
                }
                this.RequestCurrentMails();
                this.ActivateOutputLinks(200);
                break;

            case 3:
                this.TabChange(MailWindow.TabType.Period);
                if (this.currentTabData.currentPageIsReady)
                {
                    this.UpdateUI();
                    this.ActivateOutputLinks(52);
                    break;
                }
                this.RequestCurrentMails();
                this.ActivateOutputLinks(200);
                break;

            case 4:
                this.TabChange(MailWindow.TabType.Read);
                if (this.currentTabData.currentPageIsReady)
                {
                    this.UpdateUI();
                    this.ActivateOutputLinks(52);
                    break;
                }
                this.RequestCurrentMails();
                this.ActivateOutputLinks(200);
                break;

            case 11:
                if (this.currentTabData.SetPage(MonoSingleton <GameManager> .Instance.Player.MailPage))
                {
                    this.UpdateUI();
                    MonoSingleton <GameManager> .Instance.Player.CurrentMails = this.currentTabData.currentPageData.mails;
                }
                this.ActivateOutputLinks(52);
                break;

            case 12:
                if (!this.currentTabData.HasPrev())
                {
                    break;
                }
                if (this.PrevPage())
                {
                    this.UpdateUI();
                    this.ActivateOutputLinks(52);
                    break;
                }
                this.RequestPrevMails();
                this.ActivateOutputLinks(200);
                break;

            case 13:
                if (!this.currentTabData.HasNext())
                {
                    break;
                }
                if (this.NexePage())
                {
                    this.UpdateUI();
                    this.ActivateOutputLinks(52);
                    break;
                }
                this.RequestNextMails();
                this.ActivateOutputLinks(200);
                break;

            case 14:
                this.Refresh();
                if (this.currentTabData.SetPage(MonoSingleton <GameManager> .Instance.Player.MailPage))
                {
                    this.UpdateUI();
                    MonoSingleton <GameManager> .Instance.Player.CurrentMails = this.currentTabData.currentPageData.mails;
                }
                this.ActivateOutputLinks(52);
                break;

            default:
                if (num != 30)
                {
                    if (num != 31)
                    {
                        break;
                    }
                    this.RequestRead(this.currentTabData.currentPageData.mails.FindAll((Predicate <MailData>)(md => !md.Contains(GiftTypes.IgnoreReceiveAll))).ConvertAll <long>((Converter <MailData, long>)(md => md.mid)).ToArray());
                    this.ActivateOutputLinks(60);
                    break;
                }
                long[] mailIDs = new long[1]
                {
                    (long)GlobalVars.SelectedMailUniqueID
                };
                MailData mailData = this.currentTabData.currentPageData.mails.Find((Predicate <MailData>)(md => md.mid == (long)GlobalVars.SelectedMailUniqueID));
                if (mailData == null)
                {
                    break;
                }
                if (mailData.Contains(GiftTypes.SelectSummonTickets))
                {
                    GlobalVars.SelectedMailPeriod.Set(mailData.period);
                    GlobalVars.SelectedMailPage.Set(this.currentTabData.currentPage);
                }
                if (mailData.Contains(GiftTypes.SelectArtifactItem))
                {
                    if (MonoSingleton <GameManager> .Instance.Player.ArtifactNum + 1 > (int)MonoSingleton <GameManager> .Instance.MasterParam.FixParam.ArtifactBoxCap)
                    {
                        this.ActivateOutputLinks(500);
                        break;
                    }
                    this.ActivateOutputLinks(302);
                    break;
                }
                if (mailData.Contains(GiftTypes.SelectItem))
                {
                    this.ActivateOutputLinks(301);
                    break;
                }
                if (mailData.Contains(GiftTypes.SelectUnitItem))
                {
                    this.ActivateOutputLinks(300);
                    break;
                }
                if (mailData.Contains(GiftTypes.SelectConceptCardItem))
                {
                    if ((int)GlobalVars.ConceptCardNum + 1 > (int)MonoSingleton <GameManager> .Instance.MasterParam.FixParam.CardMax)
                    {
                        this.ActivateOutputLinks(501);
                        break;
                    }
                    this.ActivateOutputLinks(303);
                    break;
                }
                this.RequestRead(mailIDs);
                this.ActivateOutputLinks(60);
                break;
            }
        }