コード例 #1
0
ファイル: UIMailGrid.cs プロジェクト: zuojiashun/src
    public void SetState(ListMailInfo mail)
    {
        bool hasItem = (mail.sendMoney.Count + mail.item.Count) > 0;

        if (mail.state == 1 && !hasItem)
        {
            red_dot.gameObject.SetActive(false);
            mail_icon.spriteName = "tubiao_xin_yidu";
            mail_icon.MakePixelPerfect();
        }
        else if (mail.state == 2)
        {
            red_dot.gameObject.SetActive(false);
            mail_icon.spriteName = "tubiao_xin_yidu";
            mail_icon.MakePixelPerfect();
        }
        else
        {
            red_dot.gameObject.SetActive(true);
            mail_icon.spriteName = "tubiao_xin_weidu";
            mail_icon.MakePixelPerfect();
        }


        mark.gameObject.SetActive(hasItem);
    }
コード例 #2
0
ファイル: MailManager.cs プロジェクト: zuojiashun/src
    public void ReadMailFinish(uint mailId)
    {
        ListMailInfo mail  = null;
        int          index = 0;

        for (int i = 0; i < MailList.Count; i++)
        {
            if (MailList[i].mailid == mailId)
            {
                index             = i;
                mail              = MailList[i];
                MailList[i].state = 1;
            }
        }
        if (mail == null)
        {
            Engine.Utility.Log.Error("邮件阅读出错,id不存在!");
            return;
        }
        if (mail.item.Count == 0 && mail.sendMoney.Count == 0)
        {
            Client.stMailStateChangeNoAttach mscn = new Client.stMailStateChangeNoAttach();
            mscn.mailid = mailId;
            mscn.index  = index;
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAIL_STATECHANGENOATTACH, mscn);
        }
    }
コード例 #3
0
ファイル: MailManager.cs プロジェクト: zuojiashun/src
    // mailId 邮件ID
    public void CollectAttachment(ListMailInfo m)
    {
        stGetItemMailUserCmd_CS cmd = new stGetItemMailUserCmd_CS()
        {
            mailid = m.mailid, item_num = m.item.Count
        };

        NetService.Instance.Send(cmd);
    }
コード例 #4
0
ファイル: MailManager.cs プロジェクト: zuojiashun/src
    private bool HasAttachment(ListMailInfo m)
    {
        bool hasAttach = false;

        if (m.item.Count > 0 || m.sendMoney.Count > 0)
        {
            hasAttach = true;
        }
        return(hasAttach);
    }
コード例 #5
0
ファイル: UIMailGrid.cs プロジェクト: zuojiashun/src
 public override void SetGridData(object data)
 {
     base.SetGridData(data);
     if (null == data)
     {
         return;
     }
     this.info = data as ListMailInfo;
     SetMailData(info);
 }
コード例 #6
0
ファイル: FriendPanel_Mail.cs プロジェクト: zuojiashun/src
 void SelectMail(UIMailGrid grid)
 {
     SetSelect(grid.MailIndex);
     SetMsgText(grid.MailIndex);
     selectedMailIndex = grid.MailIndex;
     if ((int)grid.MailIndex < mailList.Count)
     {
         readNoteMail = mailList[(int)grid.MailIndex];
     }
 }
コード例 #7
0
ファイル: FriendPanel_Mail.cs プロジェクト: zuojiashun/src
 private void OnUpdateMailGridData(UIGridBase grid, int index)
 {
     if (grid is UIMailGrid)
     {
         UIMailGrid mailGrid = grid as UIMailGrid;
         if (index < mailList.Count)
         {
             ListMailInfo mail = mailList[index];
             mailGrid.SetGridData(mailList[index]);
             mailGrid.SetMailIndex((uint)index);
             mailGrid.SetSelect(index == selectedMailIndex);
             mailGrid.SetState(mail);
             mailGrid.name = mail.mailid.ToString();
         }
     }
 }
コード例 #8
0
ファイル: MailManager.cs プロジェクト: zuojiashun/src
 public void MailSort(List <ListMailInfo> list)
 {
     if (list.Count > 1)
     {
         for (int i = 0; i < list.Count; i++)
         {
             for (int j = 0; j < list.Count; j++)
             {
                 if (list[i].createTime > list[j].createTime)
                 {
                     ListMailInfo temp = list[i];
                     list[i] = list[j];
                     list[j] = temp;
                 }
             }
         }
     }
 }
コード例 #9
0
ファイル: UIMailGrid.cs プロジェクト: zuojiashun/src
 public void SetMailData(ListMailInfo info)
 {
     mail_title.text = info.title;
     SetTime(info.leftTime);
 }
コード例 #10
0
ファイル: FriendPanel_Mail.cs プロジェクト: zuojiashun/src
    /// <summary>
    /// 右侧Text塞数据
    /// </summary>
    /// <param name="mailIndex"></param>
    private void SetMsgText(uint mailIndex)
    {
        if (mailList == null)
        {
            m_btn_lingqu_btn.gameObject.SetActive(false);
            m_btn_one_btn_get.gameObject.SetActive(false);
            m_label_mark_message.gameObject.SetActive(true);
            return;
        }
        if (mailList.Count == 0)
        {
            m_btn_lingqu_btn.gameObject.SetActive(false);
            m_btn_one_btn_get.gameObject.SetActive(false);
            m_label_mark_message.gameObject.SetActive(true);
            return;
        }
        if (mailIndex >= mailList.Count)
        {
            return;
        }
        curMail = mailList[(int)mailIndex];
        m_label_mail_text_name.text = curMail.title;
        m_label_mail_text.text      = curMail.text;
        DateTime dt = DataManager.Manager <MailManager>().GetCreatTime(curMail.createTime);

        m_label_recieve_time.text = dt.Year + "年" +
                                    dt.Month + "月" +
                                    dt.Day + "日";

        m_lst_UIItemRewardDatas.Clear();
        if (curMail.item.Count > 0)
        {
            for (int i = 0; i < curMail.item.Count; i++)
            {
                m_lst_UIItemRewardDatas.Add(new UIItemRewardData()
                {
                    itemID = curMail.item[i].dwObjectID,
                    num    = curMail.item[i].dwNum,
                    data   = curMail.item[i],
                });
            }
        }
        if (curMail.sendMoney.Count > 0)
        {
            foreach (var money in curMail.sendMoney)
            {
                CurrencyIconData data = CurrencyIconData.GetCurrencyIconByMoneyType((ClientMoneyType)money.moneytype);
                if (data == null)
                {
                    return;
                }
                m_lst_UIItemRewardDatas.Add(new UIItemRewardData()
                {
                    itemID = data.itemID,
                    num    = money.moneynum,
                });
            }
        }

        m_ctor_UIItemRewardCreator.CreateGrids(m_lst_UIItemRewardDatas.Count);
        int count = m_lst_UIItemRewardDatas.Count;

        m_sprite_arrow_left.gameObject.SetActive(count > 5);
        m_sprite_arrow_right.gameObject.SetActive(count > 5);
        m_btn_lingqu_btn.gameObject.SetActive(count > 0);
    }