Exemple #1
0
    public void ResetMailNeedFlash()
    {
        bool bResult = false;

        foreach (DictionaryEntry info in m_MailList)
        {
            string key1 = info.Key.ToString();
            HeaderProto.SMailDetail detail = info.Value as HeaderProto.SMailDetail;
            //存在未读邮件..
            if (detail != null && detail.m_ReadTime == 0)
            {
                bResult = true;
                break;
            }
            //邮件存在物品未领取..
            if (detail != null && detail.m_ItemCount > 0)
            {
                bResult = true;
                break;
            }
            //邮件存在金钱未领取..
            if (detail != null && detail.m_Money > 0)
            {
                bResult = true;
                break;
            }
        }

        sdUIMailAlphaAnm.bMailNeedFlash = bResult;
    }
Exemple #2
0
 void OnClick()
 {
     if (gameObject)
     {
         GameObject wnd = sdGameLevel.instance.NGUIRoot;
         if (wnd)
         {
             sdUIMailWnd mailWnd = wnd.GetComponentInChildren <sdUIMailWnd>();
             if (mailWnd)
             {
                 //请求读邮件..
                 HeaderProto.SMailDetail detail = sdMailMgr.Instance.GetMailInfo(mailUUID);
                 if (detail != null && detail.m_ReadTime == 0)
                 {
                     sdMailMsg.Send_CS_READ_MAIL_REQ(mailUUID);
                 }
                 //弹出邮件界面..
                 if (detail != null)
                 {
                     sdMailControl.Instance.ActiveMailDetailWnd(null, mailUUID);
                 }
             }
         }
     }
 }
Exemple #3
0
    void OnClickDel()
    {
        GameObject wnd = sdGameLevel.instance.NGUIRoot;

        if (wnd)
        {
            sdUIMailDetailWnd mailDetailWnd = wnd.GetComponentInChildren <sdUIMailDetailWnd>();
            if (mailDetailWnd)
            {
                HeaderProto.SMailDetail detail = sdMailMgr.Instance.GetMailInfo(mailDetailWnd.m_uuMailID);
                if (detail != null)
                {
                    HeaderProto.MAIL_ID_LIST mailIDList = new HeaderProto.MAIL_ID_LIST();
                    mailIDList.m_Count      = 1;
                    mailIDList.m_MailIDs[0] = mailDetailWnd.m_uuMailID;
                    sdMailMsg.Send_CS_DELETE_MAIL_REQ(mailIDList);

                    if (sdMailControl.m_UIMailDetailWnd != null)
                    {
                        sdMailControl.Instance.CloseGameWnd(sdMailControl.m_UIMailDetailWnd);
                    }

                    return;
                }
            }
        }
    }
Exemple #4
0
    public void ResetMailList(CliProto.SC_MAIL_LIST_NTF msg)
    {
        m_MailList.Clear();

        CliProto.SC_MAIL_LIST_NTF refMSG = msg;
        int iCount = refMSG.m_List.m_Count;

        for (int i = 0; i < iCount; i++)
        {
            UInt64 uuDBID = refMSG.m_List.m_Mails[i].m_UniqueID;
            if (uuDBID != UInt64.MaxValue)
            {
                HeaderProto.SMailDetail info = new HeaderProto.SMailDetail();

                info.m_Type      = refMSG.m_List.m_Mails[i].m_Type;                     /// 邮件类型..
                info.m_UniqueID  = refMSG.m_List.m_Mails[i].m_UniqueID;                 /// 邮件唯一id..
                info.m_Money     = refMSG.m_List.m_Mails[i].m_Money;                    /// 金钱..
                info.m_SendTime  = refMSG.m_List.m_Mails[i].m_SendTime;                 /// 发送时间..
                info.m_ReadTime  = refMSG.m_List.m_Mails[i].m_ReadTime;                 /// 阅读时间..
                info.m_Sender    = refMSG.m_List.m_Mails[i].m_Sender;                   /// 发件人姓名..
                info.m_Receiver  = refMSG.m_List.m_Mails[i].m_Receiver;                 /// 收件人姓名..
                info.m_Title     = refMSG.m_List.m_Mails[i].m_Title;                    /// 标题..
                info.m_Content   = refMSG.m_List.m_Mails[i].m_Content;                  /// 内容..
                info.m_ItemCount = refMSG.m_List.m_Mails[i].m_ItemCount;                /// 物品数量..
                for (int j = 0; j < info.m_ItemCount; j++)
                {
                    HeaderProto.SXITEM item = new HeaderProto.SXITEM();
                    info.m_Items[j]            = item;
                    info.m_Items[j].m_UID      = refMSG.m_List.m_Mails[i].m_Items[j].m_UID;
                    info.m_Items[j].m_TID      = refMSG.m_List.m_Mails[i].m_Items[j].m_TID;
                    info.m_Items[j].m_UP       = refMSG.m_List.m_Mails[i].m_Items[j].m_UP;
                    info.m_Items[j].m_CT       = refMSG.m_List.m_Mails[i].m_Items[j].m_CT;
                    info.m_Items[j].m_EXP      = refMSG.m_List.m_Mails[i].m_Items[j].m_EXP;
                    info.m_Items[j].m_LK       = refMSG.m_List.m_Mails[i].m_Items[j].m_LK;
                    info.m_Items[j].m_GEMCount = refMSG.m_List.m_Mails[i].m_Items[j].m_GEMCount;
                    for (int k = 0; k < info.m_Items[j].m_GEMCount; k++)
                    {
                        HeaderProto.SXGEM gem = new HeaderProto.SXGEM();
                        info.m_Items[j].m_GEM[k]       = gem;
                        info.m_Items[j].m_GEM[k].m_TID = refMSG.m_List.m_Mails[i].m_Items[j].m_GEM[k].m_TID;
                    }
                }

                m_MailList[uuDBID] = info;
            }
        }
    }
Exemple #5
0
    public void SetIdAndReflashUI(UInt64 id)
    {
        if (id == UInt64.MaxValue)
        {
            mailUUID = UInt64.MaxValue;
            gameObject.SetActive(false);
            return;
        }
        else if (id == 0)
        {
            mailUUID = 0;
            gameObject.SetActive(true);

            if (bg)
            {
                bg.SetActive(true);
            }

            if (bgLine)
            {
                bgLine.SetActive(false);
            }

            return;
        }

        gameObject.SetActive(true);
        mailUUID = id;

        if (bg)
        {
            bg.SetActive(false);
        }

        if (bgLine)
        {
            bgLine.SetActive(true);
        }

        HeaderProto.SMailDetail detail = sdMailMgr.Instance.GetMailInfo(mailUUID);
        if (detail != null)
        {
            string strSender = System.Text.Encoding.UTF8.GetString(detail.m_Sender);
            string strHead   = sdConfDataMgr.Instance().GetMailHeadTex(strSender);
            if (strHead == "")
            {
                strHead = "head3";
            }

            if (head)
            {
                head.transform.FindChild("head2").GetComponent <UISprite>().spriteName = strHead;
            }
            if (sendv)
            {
                sendv.GetComponent <UILabel>().text = strSender;
            }
            if (timev)
            {
                double   dwTime        = (double)detail.m_SendTime * 1000;
                DateTime timeSend      = sdConfDataMgr.Instance().ConvertServerTimeToClientTime(dwTime);
                TimeSpan ts1           = new TimeSpan(timeSend.Ticks);
                TimeSpan ts2           = new TimeSpan(DateTime.Now.Ticks);
                TimeSpan ts            = ts2.Subtract(ts1).Duration();
                UInt64   uuPassMinutes = (UInt64)ts.TotalMinutes;
                UInt64   uuMinutes     = 0;
                if (detail.m_ItemCount > 0)
                {
                    if (detail.m_ReadTime == 0)
                    {
                        uuMinutes = 129601;
                    }
                    else
                    {
                        uuMinutes = 10081;
                    }
                }
                else
                {
                    if (detail.m_ReadTime == 0)
                    {
                        uuMinutes = 10081;
                    }
                    else
                    {
                        uuMinutes = 1441;
                    }
                }

                if (uuPassMinutes > uuMinutes)
                {
                    timev.GetComponent <UILabel>().text = "可删除";
                }
                else
                {
                    uuMinutes = uuMinutes - uuPassMinutes;
                    UInt64 uuDays  = uuMinutes / 1440;
                    UInt64 uuTemp  = uuMinutes % 1440;
                    UInt64 uuHours = uuTemp / 60;
                    uuTemp = uuTemp % 60;
                    if (uuDays > 0)
                    {
                        timev.GetComponent <UILabel>().text = string.Format("{0}天", (int)uuDays);
                    }
                    else
                    {
                        if (uuHours > 0)
                        {
                            timev.GetComponent <UILabel>().text = string.Format("{0}小时", (int)uuHours);
                        }
                        else
                        {
                            timev.GetComponent <UILabel>().text = string.Format("{0}分钟", (int)uuTemp);
                        }
                    }
                }
            }
            if (mailTitle)
            {
                mailTitle.GetComponent <UILabel>().text = System.Text.Encoding.UTF8.GetString(detail.m_Title);
            }

            item1.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
            item2.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
            item3.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
            item4.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
            for (int i = 0; i < detail.m_ItemCount && i < 4; i++)
            {
                int iItemID = detail.m_Items[i].m_TID;
                int iCount  = detail.m_Items[i].m_CT;
                if (i == 0)
                {
                    item1.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                }
                else if (i == 1)
                {
                    item2.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                }
                else if (i == 2)
                {
                    item3.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                }
                else if (i == 3)
                {
                    item4.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                }
            }

            if (detail.m_Money > 0)
            {
                if (bz)
                {
                    bz.SetActive(false);
                }

                if (btnGetItem)
                {
                    btnGetItem.SetActive(true);
                }

                if (money)
                {
                    money.SetActive(true);
                }
            }
            else
            {
                if (money)
                {
                    money.SetActive(false);
                }

                if (detail.m_ItemCount > 0)
                {
                    if (bz)
                    {
                        bz.SetActive(false);
                    }

                    if (btnGetItem)
                    {
                        btnGetItem.SetActive(true);
                    }
                }
                else
                {
                    if (detail.m_ReadTime > 0)
                    {
                        if (bz)
                        {
                            bz.GetComponent <UISprite>().spriteName = "yd";
                            bz.SetActive(true);
                        }
                    }
                    else
                    {
                        if (bz)
                        {
                            bz.SetActive(false);
                        }
                    }

                    if (btnGetItem)
                    {
                        btnGetItem.SetActive(false);
                    }
                }
            }
        }
    }
Exemple #6
0
    public void ShowMailDetailWndUI()
    {
        if (m_uuMailID == UInt64.MaxValue)
        {
            ResetMailDetailUI();
        }
        else
        {
            HeaderProto.SMailDetail detail = sdMailMgr.Instance.GetMailInfo(m_uuMailID);
            if (detail != null)
            {
                string strSender = System.Text.Encoding.UTF8.GetString(detail.m_Sender);
                string strHead   = sdConfDataMgr.Instance().GetMailHeadTex(strSender);
                if (strHead == "")
                {
                    strHead = "head3";
                }

                if (head)
                {
                    head.transform.FindChild("head2").GetComponent <UISprite>().spriteName = strHead;
                }

                if (lbTitle)
                {
                    lbTitle.GetComponent <UILabel>().text = System.Text.Encoding.UTF8.GetString(detail.m_Title);
                }

                if (lbDesc)
                {
                    lbDesc.GetComponent <UILabel>().text = System.Text.Encoding.UTF8.GetString(detail.m_Content);
                }

                item1.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
                item2.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
                item3.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
                item4.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(0, 0);
                for (int i = 0; i < detail.m_ItemCount && i < 4; i++)
                {
                    int iItemID = detail.m_Items[i].m_TID;
                    int iCount  = detail.m_Items[i].m_CT;
                    if (i == 0)
                    {
                        item1.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                    }
                    else if (i == 1)
                    {
                        item2.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                    }
                    else if (i == 2)
                    {
                        item3.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                    }
                    else if (i == 3)
                    {
                        item4.GetComponent <sdUIMailItemIcon>().SetIdAndReflashUI(iItemID, iCount);
                    }
                }

                if (fromv)
                {
                    fromv.GetComponent <UILabel>().text = System.Text.Encoding.UTF8.GetString(detail.m_Sender);
                }

                if (timev)
                {
                    double   dwTime        = (double)detail.m_SendTime * 1000;
                    DateTime timeSend      = sdConfDataMgr.Instance().ConvertServerTimeToClientTime(dwTime);
                    TimeSpan ts1           = new TimeSpan(timeSend.Ticks);
                    TimeSpan ts2           = new TimeSpan(DateTime.Now.Ticks);
                    TimeSpan ts            = ts2.Subtract(ts1).Duration();
                    UInt64   uuPassMinutes = (UInt64)ts.TotalMinutes;
                    UInt64   uuMinutes     = 0;
                    if (detail.m_ItemCount > 0)
                    {
                        if (detail.m_ReadTime == 0)
                        {
                            uuMinutes = 129601;
                        }
                        else
                        {
                            uuMinutes = 10081;
                        }
                    }
                    else
                    {
                        if (detail.m_ReadTime == 0)
                        {
                            uuMinutes = 10081;
                        }
                        else
                        {
                            uuMinutes = 1441;
                        }
                    }

                    if (uuPassMinutes > uuMinutes)
                    {
                        timev.GetComponent <UILabel>().text = "可删除";
                    }
                    else
                    {
                        uuMinutes = uuMinutes - uuPassMinutes;
                        UInt64 uuDays  = uuMinutes / 1440;
                        UInt64 uuTemp  = uuMinutes % 1440;
                        UInt64 uuHours = uuTemp / 60;
                        uuTemp = uuTemp % 60;
                        if (uuDays > 0)
                        {
                            timev.GetComponent <UILabel>().text = string.Format("{0}天", (int)uuDays);
                        }
                        else
                        {
                            if (uuHours > 0)
                            {
                                timev.GetComponent <UILabel>().text = string.Format("{0}小时", (int)uuHours);
                            }
                            else
                            {
                                timev.GetComponent <UILabel>().text = string.Format("{0}分钟", (int)uuTemp);
                            }
                        }
                    }
                }

                if (detail.m_Money > 0)
                {
                    if (btnGetDetailItem)
                    {
                        btnGetDetailItem.SetActive(true);
                    }

                    if (btnDelMail)
                    {
                        btnDelMail.SetActive(true);
                        btnDelMail.transform.localPosition = new Vector3(135, -259, 0);
                    }

                    if (money)
                    {
                        money.SetActive(true);
                    }

                    if (moneyv)
                    {
                        moneyv.GetComponent <UILabel>().text = detail.m_Money.ToString();
                    }
                }
                else
                {
                    if (money)
                    {
                        money.SetActive(false);
                    }

                    if (moneyv)
                    {
                        moneyv.GetComponent <UILabel>().text = "0";
                        moneyv.SetActive(false);
                    }

                    if (detail.m_ItemCount > 0)
                    {
                        if (btnGetDetailItem)
                        {
                            btnGetDetailItem.SetActive(true);
                        }

                        if (btnDelMail)
                        {
                            btnDelMail.SetActive(true);
                            btnDelMail.transform.localPosition = new Vector3(135, -259, 0);
                        }
                    }
                    else
                    {
                        if (btnGetDetailItem)
                        {
                            btnGetDetailItem.SetActive(false);
                        }

                        if (btnDelMail)
                        {
                            btnDelMail.SetActive(true);
                            btnDelMail.transform.localPosition = new Vector3(0, -259, 0);
                        }
                    }
                }
            }
            else
            {
                ResetMailDetailUI();
            }
        }
    }
Exemple #7
0
    public void UpdateMailList(HeaderProto.MAIL_LIST mailList)
    {
        if (mailList.m_Count > 0)
        {
            for (int i = 0; i < mailList.m_Count; i++)
            {
                UInt64 uuMailID = mailList.m_Mails[i].m_UniqueID;
                if (m_MailList[uuMailID] != null)
                {
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Type      = mailList.m_Mails[i].m_Type;                         /// 邮件类型..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_UniqueID  = mailList.m_Mails[i].m_UniqueID;                     /// 邮件唯一id..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Money     = mailList.m_Mails[i].m_Money;                        /// 金钱..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_SendTime  = mailList.m_Mails[i].m_SendTime;                     /// 发送时间..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_ReadTime  = mailList.m_Mails[i].m_ReadTime;                     /// 阅读时间..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Sender    = mailList.m_Mails[i].m_Sender;                       /// 发件人姓名..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Receiver  = mailList.m_Mails[i].m_Receiver;                     /// 收件人姓名..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Title     = mailList.m_Mails[i].m_Title;                        /// 标题..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Content   = mailList.m_Mails[i].m_Content;                      /// 内容..
                    ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_ItemCount = mailList.m_Mails[i].m_ItemCount;                    /// 物品数量..
                    for (int j = 0; j < ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_ItemCount; j++)
                    {
                        ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_UID      = mailList.m_Mails[i].m_Items[j].m_UID;
                        ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_TID      = mailList.m_Mails[i].m_Items[j].m_TID;
                        ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_UP       = mailList.m_Mails[i].m_Items[j].m_UP;
                        ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_CT       = mailList.m_Mails[i].m_Items[j].m_CT;
                        ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_EXP      = mailList.m_Mails[i].m_Items[j].m_EXP;
                        ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_LK       = mailList.m_Mails[i].m_Items[j].m_LK;
                        ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_GEMCount = mailList.m_Mails[i].m_Items[j].m_GEMCount;
                        for (int k = 0; k < ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_GEMCount; k++)
                        {
                            ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_GEM[k].m_TID = mailList.m_Mails[i].m_Items[j].m_GEM[k].m_TID;
                        }
                    }
                }
                else
                {
                    HeaderProto.SMailDetail info = new HeaderProto.SMailDetail();

                    info.m_Type      = mailList.m_Mails[i].m_Type;                      /// 邮件类型..
                    info.m_UniqueID  = mailList.m_Mails[i].m_UniqueID;                  /// 邮件唯一id..
                    info.m_Money     = mailList.m_Mails[i].m_Money;                     /// 金钱..
                    info.m_SendTime  = mailList.m_Mails[i].m_SendTime;                  /// 发送时间..
                    info.m_ReadTime  = mailList.m_Mails[i].m_ReadTime;                  /// 阅读时间..
                    info.m_Sender    = mailList.m_Mails[i].m_Sender;                    /// 发件人姓名..
                    info.m_Receiver  = mailList.m_Mails[i].m_Receiver;                  /// 收件人姓名..
                    info.m_Title     = mailList.m_Mails[i].m_Title;                     /// 标题..
                    info.m_Content   = mailList.m_Mails[i].m_Content;                   /// 内容..
                    info.m_ItemCount = mailList.m_Mails[i].m_ItemCount;                 /// 物品数量..
                    for (int j = 0; j < info.m_ItemCount; j++)
                    {
                        HeaderProto.SXITEM item = new HeaderProto.SXITEM();
                        info.m_Items[j] = item;

                        info.m_Items[j].m_UID      = mailList.m_Mails[i].m_Items[j].m_UID;
                        info.m_Items[j].m_TID      = mailList.m_Mails[i].m_Items[j].m_TID;
                        info.m_Items[j].m_UP       = mailList.m_Mails[i].m_Items[j].m_UP;
                        info.m_Items[j].m_CT       = mailList.m_Mails[i].m_Items[j].m_CT;
                        info.m_Items[j].m_EXP      = mailList.m_Mails[i].m_Items[j].m_EXP;
                        info.m_Items[j].m_LK       = mailList.m_Mails[i].m_Items[j].m_LK;
                        info.m_Items[j].m_GEMCount = mailList.m_Mails[i].m_Items[j].m_GEMCount;
                        for (int k = 0; k < info.m_Items[j].m_GEMCount; k++)
                        {
                            HeaderProto.SXGEM gem = new HeaderProto.SXGEM();
                            info.m_Items[j].m_GEM[k]       = gem;
                            info.m_Items[j].m_GEM[k].m_TID = mailList.m_Mails[i].m_Items[j].m_GEM[k].m_TID;
                        }
                    }

                    m_MailList[uuMailID] = info;
                }
            }
        }
    }
Exemple #8
0
    void OnClick()
    {
        if (gameObject.name == "wndClose")
        {
            if (sdMailControl.m_UIMailWnd != null)
            {
                WndAni.HideWndAni(sdMailControl.m_UIMailWnd, true, "w_black");
            }
            //sdMailControl.Instance.CloseGameWnd(sdMailControl.m_UIMailWnd);
        }
        else if (gameObject.name == "detailClose")
        {
            if (sdMailControl.m_UIMailDetailWnd != null)
            {
                WndAni.HideWndAni(sdMailControl.m_UIMailDetailWnd, false, "bg_grey");
            }
            //sdMailControl.Instance.CloseGameWnd(sdMailControl.m_UIMailDetailWnd);
        }
        else if (gameObject.name == "btnGetItem")
        {
            UInt64 mailID = gameObject.transform.parent.transform.parent.transform.parent.transform.GetComponent <sdUIMailIcon>().GetId();
            HeaderProto.SMailDetail detail = sdMailMgr.Instance.GetMailInfo(mailID);
            if (detail != null)
            {
                if (detail.m_ItemCount > 0)
                {
                    sdMailMsg.Send_CS_GET_ITEM_FROM_MAIL_REQ(mailID);
                }

                if (detail.m_Money > 0)
                {
                    sdMailMsg.Send_CS_GET_MONEY_FROM_MAIL_REQ(mailID);
                }

                if (detail.m_ReadTime == 0)
                {
                    sdMailMsg.Send_CS_READ_MAIL_REQ(mailID);
                }
            }
        }
        else if (gameObject.name == "btnDelOld")
        {
            Hashtable list = null;
            list = sdMailMgr.Instance.m_MailList;
            ushort index = 0;
            HeaderProto.MAIL_ID_LIST mailIDList = new HeaderProto.MAIL_ID_LIST();
            foreach (DictionaryEntry info in list)
            {
                UInt64 key1 = UInt64.Parse(info.Key.ToString());
                HeaderProto.SMailDetail detail = info.Value as HeaderProto.SMailDetail;
                if (detail.m_ItemCount == 0 && detail.m_ReadTime > 0)
                {
                    mailIDList.m_MailIDs[index] = key1;
                    index++;
                }
            }
            mailIDList.m_Count = index;

            if (index > 0)
            {
                sdMailMsg.Send_CS_DELETE_MAIL_REQ(mailIDList);
            }
        }
        else if (gameObject.name == "btnSendMail")
        {
            GameObject wnd = sdGameLevel.instance.NGUIRoot;
            if (wnd)
            {
                sdUIMailWnd mailWnd = wnd.GetComponentInChildren <sdUIMailWnd>();
                if (mailWnd)
                {
                    mailWnd.OnSendMail();
                }
            }
        }
        else if (gameObject.name == "TabMailList")
        {
            GameObject wnd = sdGameLevel.instance.NGUIRoot;
            if (wnd)
            {
                sdUIMailWnd mailWnd = wnd.GetComponentInChildren <sdUIMailWnd>();
                if (mailWnd)
                {
                    mailWnd.ShowMailWndPanel(1);
                    mailWnd.RefreshMailList();
                }
            }
        }
        else if (gameObject.name == "TabSendList")
        {
            GameObject wnd = sdGameLevel.instance.NGUIRoot;
            if (wnd)
            {
                sdUIMailWnd mailWnd = wnd.GetComponentInChildren <sdUIMailWnd>();
                if (mailWnd)
                {
                    mailWnd.ShowMailWndPanel(2);
                }
            }
        }
        else if (gameObject.name == "btnGetDetailItem")
        {
            GameObject wnd = sdGameLevel.instance.NGUIRoot;
            if (wnd)
            {
                sdUIMailDetailWnd mailDetailWnd = wnd.GetComponentInChildren <sdUIMailDetailWnd>();
                if (mailDetailWnd)
                {
                    HeaderProto.SMailDetail detail = sdMailMgr.Instance.GetMailInfo(mailDetailWnd.m_uuMailID);
                    if (detail != null)
                    {
                        if (detail.m_ItemCount > 0)
                        {
                            sdMailMsg.Send_CS_GET_ITEM_FROM_MAIL_REQ(mailDetailWnd.m_uuMailID);
                        }

                        if (detail.m_Money > 0)
                        {
                            sdMailMsg.Send_CS_GET_MONEY_FROM_MAIL_REQ(mailDetailWnd.m_uuMailID);
                        }

                        if (detail.m_ReadTime == 0)
                        {
                            sdMailMsg.Send_CS_READ_MAIL_REQ(mailDetailWnd.m_uuMailID);
                        }
                    }
                }
            }
        }
        else if (gameObject.name == "btnDelDetailMail")
        {
            GameObject wnd = sdGameLevel.instance.NGUIRoot;
            if (wnd)
            {
                sdUIMailDetailWnd mailDetailWnd = wnd.GetComponentInChildren <sdUIMailDetailWnd>();
                if (mailDetailWnd)
                {
                    HeaderProto.SMailDetail detail = sdMailMgr.Instance.GetMailInfo(mailDetailWnd.m_uuMailID);
                    if (detail != null && detail.m_ItemCount <= 0 && detail.m_Money <= 0)
                    {
                        HeaderProto.MAIL_ID_LIST mailIDList = new HeaderProto.MAIL_ID_LIST();
                        mailIDList.m_Count      = 1;
                        mailIDList.m_MailIDs[0] = mailDetailWnd.m_uuMailID;
                        sdMailMsg.Send_CS_DELETE_MAIL_REQ(mailIDList);

                        if (sdMailControl.m_UIMailDetailWnd != null)
                        {
                            sdMailControl.Instance.CloseGameWnd(sdMailControl.m_UIMailDetailWnd);
                        }

                        return;
                    }

                    if (detail != null && (detail.m_ItemCount > 0 || detail.m_Money > 0))
                    {
                        sdMsgBox.OnConfirm btn_Delete = new sdMsgBox.OnConfirm(OnClickDel);
                        sdUICharacter.Instance.ShowOkCanelMsg("该邮件存在物品或金钱,确定要删除么?", btn_Delete, null);
                        return;
                    }
                }
            }
        }
        else if (gameObject.name == "mailBtn")
        {
            sdMailControl.Instance.ActiveMailWnd(null);
        }
    }