Beispiel #1
0
        public void RefreshData(UIInitArguments data)
        {
            //if (DataModel.SelectData.Id == ulong.MaxValue)
            //{
            if (MailCells.Count > 0)
            {
                MailCellData cellData = null;
                cellData = GetCellDataByState(MailStateType.NewMailHave);
                if (cellData == null)
                {
                    cellData = GetCellDataByState(MailStateType.NewMail);
                }
                if (cellData == null)
                {
                    cellData = MailCells[0];
                    GetCellDataByStateIndex = 0;
                }
                DataModel.SelectData = cellData;
                cellData.IsClicked   = 1;
                RequestMailData(GetCellDataByStateIndex != -1 ? GetCellDataByStateIndex : 0);

                OnCheckAllChoose(true);
            }
            //}
        }
Beispiel #2
0
    //请求邮件
    public IEnumerator ApplyMailsCoroutine(MailCellData data)
    {
        using (new BlockingLayerHelper(0))
        {
            var msg = NetManager.Instance.ApplyMailInfo(data.Id);
            yield return(msg.SendAndWaitUntilDone());

            if (msg.State == MessageState.Reply)
            {
                if (msg.ErrorCode == (int)ErrorCodes.OK)
                {
                    var mailInfo = msg.Response;
                    data.State = mailInfo.State;
                    var content = GameUtils.ConvertChatContent(mailInfo.Text);
                    data.InfoData.Content = content.Replace("\\n", "\n");
                    data.InfoData.Sender  = mailInfo.Send;
                    var index = 0;
                    if (data.IsReceive != 1)
                    {
                        {
                            var __list9      = mailInfo.Items;
                            var __listCount9 = __list9.Count;
                            for (var __i9 = 0; __i9 < __listCount9; ++__i9)
                            {
                                var i = __list9[__i9];
                                {
                                    data.InfoData.Items[index].ItemId = i.ItemId;
                                    data.InfoData.Items[index].Count  = i.Count;
                                    data.InfoData.Items[index].Exdata.InstallData(i.Exdata);
                                    index++;
                                }
                            }
                        }
                    }
                    for (var i = index; i < 5; i++)
                    {
                        data.InfoData.Items[i].Reset();
                    }
                    DataModel.SelectData.IsApply = true;
                    AnalyseNotice();
                }
                else if (msg.ErrorCode == (int)ErrorCodes.Error_MailNotFind)
                {
                    //邮件没有找到
                    var e = new ShowUIHintBoard(msg.ErrorCode + 200000000);
                    EventDispatcher.Instance.DispatchEvent(e);
                }
                else
                {
                    UIManager.Instance.ShowNetError(msg.ErrorCode);
                    Logger.Error("ApplyMailInfo Error!............ErrorCode..." + msg.ErrorCode);
                }
            }
            else
            {
                Logger.Error("ApplyMailInfo Error!............State..." + msg.State);
            }
        }
    }
Beispiel #3
0
    //更新邮件信息
    public void AddMailData(List <MailCell> mails, bool clean)
    {
        var list = new List <MailCellData>();

        if (clean)
        {
        }
        else
        {
            list.AddRange(DataModel.MailCells);
        }
        var mailCells = list;

        {
            var __list3      = mails;
            var __listCount3 = __list3.Count;
            for (var __i3 = 0; __i3 < __listCount3; ++__i3)
            {
                var mail = __list3[__i3];
                {
                    var cellData = new MailCellData
                    {
                        Id       = mail.Guid,
                        IsApply  = false,
                        Name     = mail.Name,
                        DateTime = Extension.FromServerBinary(mail.StartTime),
                        State    = mail.State
                    };
                    if (mailCells.Contains(cellData, mMailComparer))
                    {
                        mailCells.Remove(cellData);
                        clean = true;
                    }
                    mailCells.Add(cellData);
                }
            }
        }
        list.Sort();

        DataModel.MailCells = new ObservableCollection <MailCellData>(list);

        DataModel.CellCount = mailCells.Count;
        if (DataModel.CellCount == 1)
        {
            OnApplyMail(0);
        }
        AnalyseNotice();

        DataModel.IsSelectAll = false;
    }
Beispiel #4
0
        //请求邮件
        private IEnumerator ApplyMailsCoroutine(MailCellData data)
        {
            using (new BlockingLayerHelper(0))
            {
                var _msg = NetManager.Instance.ApplyMailInfo(data.Id);
                yield return(_msg.SendAndWaitUntilDone());

                if (_msg.State == MessageState.Reply)
                {
                    if (_msg.ErrorCode == (int)ErrorCodes.OK)
                    {
                        var _mailInfo = _msg.Response;
                        data.State = _mailInfo.State;
                        var _content = GameUtils.ConvertChatContent(_mailInfo.Text);
                        data.InfoData.Content = _content.Replace("\\n", "\n");
                        if (!string.IsNullOrEmpty(_mailInfo.Send))
                        {
                            data.InfoData.Sender = _mailInfo.Send;
                        }
                        else
                        {
                            data.InfoData.Sender = GameUtils.GetDictionaryText(9000);
                        }
                        data.InfoData.characterId   = 0;
                        data.InfoData.characterName = "";
                        if (_mailInfo.ExtendType == (int)SendToCharacterMailType.BeKillInfo)
                        {
                            data.InfoData.characterId   = ulong.Parse(_mailInfo.ExtendPara0);
                            data.InfoData.characterName = _mailInfo.ExtendPara1;
                        }
                        var _index = 0;
                        //if (data.IsReceive != 1)
                        //{
                        {
                            var __list9      = _mailInfo.Items;
                            var __listCount9 = __list9.Count;
                            for (var __i9 = 0; __i9 < __listCount9; ++__i9)
                            {
                                var i = __list9[__i9];
                                {
                                    data.InfoData.Items[_index].ItemId = i.ItemId;
                                    data.InfoData.Items[_index].Count  = i.Count;
                                    data.InfoData.Items[_index].Exdata.InstallData(i.Exdata);
                                    _index++;
                                }
                            }
                        }
                        //}
                        //for (var _i = _index; _i < 5; _i++)
                        //{
                        //    data.InfoData.Items[_i].Reset();
                        //}
                        DataModel.SelectData.IsApply = true;
                        RenewalNotice();
                    }
                    else if (_msg.ErrorCode == (int)ErrorCodes.Error_MailNotFind)
                    {
                        //邮件没有找到
                        var _e = new ShowUIHintBoard(_msg.ErrorCode + 200000000);
                        EventDispatcher.Instance.DispatchEvent(_e);
                    }
                    else
                    {
                        UIManager.Instance.ShowNetError(_msg.ErrorCode);
                        Logger.Error("ApplyMailInfo Error!............ErrorCode..." + _msg.ErrorCode);
                    }
                }
                else
                {
                    Logger.Error("ApplyMailInfo Error!............State..." + _msg.State);
                }
            }
        }
Beispiel #5
0
        //更新邮件信息
        private void AddPostData(List <MailCell> mails, bool clean)
        {
            var _list   = new List <MailCellData>();
            var _listQA = new List <MailCellData>();

            if (clean)
            {
            }
            else
            {
                _list.AddRange(DataModel.MailCells);
                _listQA.AddRange(DataModel.QAMailCells);
            }
            var _mailCells = _list;

            {
                var __list3      = mails;
                var __listCount3 = __list3.Count;
                for (var __i3 = 0; __i3 < __listCount3; ++__i3)
                {
                    var _mail = __list3[__i3];
                    {
                        var _cellData = new MailCellData
                        {
                            Id       = _mail.Guid,
                            IsApply  = false,
                            Name     = _mail.Name,
                            DateTime = Extension.FromServerBinary(_mail.StartTime),
                            State    = _mail.State,
                            MailType = _mail.Type
                        };
                        if (_mail.Type == 0)
                        {
                            if (_mailCells.Contains(_cellData, m_mailComparer))
                            {
                                _mailCells.Remove(_cellData);
                                clean = true;
                            }
                            _mailCells.Add(_cellData);
                        }
                        else
                        {
                            if (_listQA.Contains(_cellData, m_mailComparer))
                            {
                                _listQA.Remove(_cellData);
                            }
                            _listQA.Add(_cellData);
                        }
                    }
                }
            }
            _list.Sort();
            _listQA.Sort();
            DataModel.MailCells   = new ObservableCollection <MailCellData>(_list);
            DataModel.QAMailCells = new ObservableCollection <MailCellData>(_listQA);

            DataModel.CellCount   = _list.Count;
            DataModel.QACellCount = _listQA.Count;

            if (CellCount == 1)
            {
                RequestMailData(0);
            }
            RenewalNotice();

            DataModel.IsSelectAll = false;
        }