Ejemplo n.º 1
0
    public List <string> m_strlist = new List <string>();            // 参数列表

    public void Copy(Mail _data)
    {
        this.m_key     = _data.key;
        this.m_sender  = _data.sender;
        this.m_title   = _data.title;
        this.m_msg     = _data.msg;
        this.m_endtime = _data.endtime;
        this.m_isopen  = _data.isopen;

        foreach (int value in _data.innerdropidlist)
        {
            m_innerdropidlist.Add((int)value);
        }

        foreach (MailItem value in _data.items)
        {
            MailItemData _itemData = new MailItemData();
            _itemData.Copy(value);
            m_items.Add(_itemData);
        }

        foreach (string value in _data.strlist)
        {
            m_strlist.Add(value.ToString());
        }
    }
Ejemplo n.º 2
0
    private void GreatItem(MailItemData mailItem, int isReceive)
    {
        m_Cell = UniversalItemCell.GenerateItem(EmailFuJianList.transform);

        int type   = mailItem.m_objectid / 1000000;
        int itemid = mailItem.m_objectid;//掉落物ID

        m_Cell.SetCheckClaim(isReceive == 1, "");

        switch (type)
        {
        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RES:
            ResourceindexTemplate _temp_res = (ResourceindexTemplate)DataTemplate.GetInstance().m_ResourceindexTemplate.getTableData(itemid);
            if (_temp_res != null)
            {
                m_Cell.InitByID(itemid, mailItem.m_dropnum);
                m_Cell.SetText(GameUtils.getString(_temp_res.getName()), "", "");
            }
            break;

        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RUNE:     //符文
        {
            ItemTemplate itemTable = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(itemid);
            if (itemTable != null)
            {
                m_Cell.InitByID(itemid, -1);
                m_Cell.SetText(GameUtils.getString(itemTable.getName()), "", "");
            }
        }
        break;

        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_COMMON:
        {
            ItemTemplate itemTable = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(itemid);
            if (itemTable != null)
            {
                m_Cell.InitByID(itemid, mailItem.m_dropnum);
                m_Cell.SetText(GameUtils.getString(itemTable.getName()), "", "");
            }
        }
        break;

        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_HERO:
        {
            HeroTemplate hero = (HeroTemplate)DataTemplate.GetInstance().m_HeroTable.getTableData(itemid);
            if (hero != null)
            {
                m_Cell.InitByID(itemid, mailItem.m_dropnum);
                m_Cell.SetText(GameUtils.getString(hero.getTitleID()), "", "");
            }
        }
        break;

        default:
            break;
        }
    }
Ejemplo n.º 3
0
 public override void Refresh(object data)
 {
     if (this.mMailData == data)
     {
         return;
     }
     this.mMailData = (MailItemData)data;
     this.Refresh();
 }
Ejemplo n.º 4
0
    /// <summary>
    /// 设置邮件的详细内容
    /// </summary>
    public void SetData(MailItemData mailItemData, int index)
    {
        mailItem       = mailItemData;
        mailTitle.text = mailItem.Title;//邮箱标题

        if (mailItem.accessoryDataList.Count > 0)
        {
            obj = mailItem.accessoryDataList.ToArray();
            //初始化邮件中的附件内容
            goodsScrollView.ResetPosition();
            goodsMultist.ScrollView = goodsScrollViewObj.transform;
            goodsScrollViewObj.SetActive(true);
            goodsMultist.gameObject.SetActive(true);
            goodsMultist.InSize(obj.Length, 5);
            goodsMultist.Info(obj);
            getMailGoods.gameObject.SetActive(true);
            if (mailItem.IsHaveGetGoods == 1)
            {
                getMailGoods.gameObject.SetActive(true);
            }
            else if (mailItem.IsHaveGetGoods == 0)
            {
                getMailGoods.gameObject.SetActive(false);
            }
            SetBtnPosition();
        }
        else
        {
            goodsScrollView.ResetPosition();
            goodsScrollViewObj.SetActive(false);
            goodsMultist.gameObject.SetActive(false);
            getMailGoods.gameObject.SetActive(false);
        }
        //设置邮件文字内容
        characterScrollView.ResetPosition();
        contentLabel.text = mailItem.Content;

        //邮件数量
        mailCount.text = playerData.GetInstance().mailData.currentCount + "/" + playerData.GetInstance().mailData.maxCount;
        //邮件发送者昵称
        mailSenderNick.text = mailItem.NiceName;
        //邮件发送时间
        mailSendDate.text = TimeManager.Instance.GetAllTimeClockText(mailItem.CreatTime);
    }
Ejemplo n.º 5
0
    public override void Info(object obj)
    {
        base.Info(obj);
        if (index == Globe.selectMailIndex)
        {
            MailDetail.Instance.setMailItemObj(this.gameObject);
        }
        mailItem       = obj as MailItemData;
        mailTitle.text = mailItem.Title;
        //是否有附件
        if (mailItem.accessoryDataList.Count > 0 && mailItem.IsHaveGetGoods == 1)
        {
            accessoryIcon.gameObject.SetActive(true);
        }
        else
        {
            accessoryIcon.gameObject.SetActive(false);
        }
        //是否是重要邮件TODO

        //是否已读 1 新邮件,0已读邮件
        if (mailItem.NewMailFlag == 1)
        {
            mailStateIcon.spriteName = "weidu";
        }
        else
        {
            mailStateIcon.spriteName = "yidu";
        }

        residueDay = (PropertyManager.ConvertIntDateTime(mailItem.EndTime) - PropertyManager.ConvertIntDateTime(Auxiliary.GetNowTime())).Days;
        if (residueDay <= 0)
        {
            deleteDate.text = "1天后过期";
        }
        else
        {
            deleteDate.text = residueDay + "天后过期";
        }
    }
Ejemplo n.º 6
0
    public void Init(MailItemData mailItem, int isReceive)
    {
        if (isReceive == 0)
        {
            ReceiveGo.SetActive(false);
        }
        else
        {
            ReceiveGo.SetActive(true);
        }

        NumText.text = "x" + mailItem.m_dropnum.ToString();
        int itemid = mailItem.m_objectid / 1000000;

        switch (itemid)
        {
        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RES:     //资源
            ResourceindexTemplate _temp_res = (ResourceindexTemplate)DataTemplate.GetInstance().m_ResourceindexTemplate.getTableData(mailItem.m_objectid);
            if (_temp_res != null)
            {
                GoName.text = GameUtils.getString(_temp_res.getName());
                string _tempIconNam_1 = _temp_res.getIcon3();
                SpriteImage.sprite = UIResourceMgr.LoadSprite(common.defaultPath + _tempIconNam_1);
            }
            break;

        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RUNE:    //符文
            ItemTemplate _temp_rune = (ItemTemplate)DataTemplate.GetInstance().GetItemTemplateById(mailItem.m_objectid);
            if (_temp_rune != null)
            {
                GoName.text = GameUtils.getString(_temp_rune.getName());
                SpriteImage.gameObject.SetActive(false);
                RuneIcon.SetActive(true);
                ShowRune(_temp_rune);
            }
            break;

        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_COMMON:     //道具
            ItemTemplate _temp_common = (ItemTemplate)DataTemplate.GetInstance().GetItemTemplateById(mailItem.m_objectid);
            if (_temp_common != null)
            {
                GoName.text = GameUtils.getString(_temp_common.getName());
                string _tempIconNam_3 = _temp_common.getIcon_s();
                SpriteImage.sprite = UIResourceMgr.LoadSprite(common.defaultPath + _tempIconNam_3);
            }
            break;

        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_HERO:     //英雄
            HeroTemplate _temp_hero = (HeroTemplate)DataTemplate.GetInstance().m_HeroTable.getTableData(mailItem.m_objectid);
            if (_temp_hero != null)
            {
                GoName.text = GameUtils.getString(_temp_hero.getNameID());
                int _tempIconNam_4 = _temp_hero.getArtresources();

                ArtresourceTemplate _temp_Art = (ArtresourceTemplate)DataTemplate.GetInstance().GetArtResourceTemplate(_tempIconNam_4);
                string _tempIconNam_5         = _temp_Art.getHeadiconresource();
                SpriteImage.sprite = UIResourceMgr.LoadSprite(common.defaultPath + _tempIconNam_5);

                NumText.transform.parent.gameObject.SetActive(false);
                this.star.gameObject.SetActive(true);
                int star    = _temp_hero.getQuality();
                int maxStar = _temp_hero.getMaxQuality();
                this.star.Set(star, maxStar);
            }
            break;

        case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_SKIN:     //皮肤
            ArtresourceTemplate _temp_Art_2 = (ArtresourceTemplate)DataTemplate.GetInstance().GetArtResourceTemplate(mailItem.m_objectid);
            if (_temp_Art_2 != null)
            {
                GoName.text = GameUtils.getString(_temp_Art_2.getNameID());
                string _tempIconNam_6 = _temp_Art_2.getHeadiconresource();
                SpriteImage.sprite = UIResourceMgr.LoadSprite(common.defaultPath + _tempIconNam_6);
            }
            break;
        }
    }
Ejemplo n.º 7
0
    /// <summary>
    /// 服务器回调:获取所有邮箱信息列表
    /// </summary>
    /// <param name="packet"></param>
    /// <returns></returns>

    private bool AllMailListResult(CReadPacket packet)
    {
        //{msgid=4602,ret=返回值,desc=返回描述,start=开始邮件索引,cc=当前个数,mct=最大个数,mail=[{idx=邮件ID,sn=发信人昵称,tit=标题,c=内容,mt=主类型,st=类型,ct=创建时间,ot=结束时间,nf=新邮件标志,item={id=物品id,at=数量},gold=邮件附带金币,diamond=邮件附带钻石},{}..{}]}

        Dictionary <string, object> data = packet.data;
        int resolt = int.Parse(data["ret"].ToString());

        if (resolt == 0)
        {
            object[] mailItem = data["mail"] as object[];
            if (mailItem != null)
            {
                playerData.GetInstance().mailData.mailItemList.Clear();//清空一下邮件列表
                playerData.GetInstance().mailData.unReadMailCount = 0;
                playerData.GetInstance().mailData.startIndex = int.Parse(data["start"].ToString());
                playerData.GetInstance().mailData.currentCount = int.Parse(data["count"].ToString());
                playerData.GetInstance().mailData.maxCount = int.Parse(data["maxCount"].ToString());
                for (int i = 0; i < mailItem.Length; i++)
                {
                    Dictionary <string, object> mailItemDataDic = mailItem[i] as Dictionary <string, object>;
                    MailItemData mailItemData = new MailItemData();
                    mailItemData.Id             = long.Parse(mailItemDataDic["idx"].ToString());
                    mailItemData.NiceName       = mailItemDataDic["sn"].ToString();
                    mailItemData.Title          = mailItemDataDic["tt"].ToString();
                    mailItemData.Content        = mailItemDataDic["c"].ToString();
                    mailItemData.MainType       = mailItemDataDic["mt"].ToString();
                    mailItemData.Type           = mailItemDataDic["st"].ToString();
                    mailItemData.IsHaveGetGoods = int.Parse(mailItemDataDic["dit"].ToString());
                    mailItemData.CreatTime      = long.Parse(mailItemDataDic["ct"].ToString());
                    mailItemData.EndTime        = long.Parse(mailItemDataDic["ot"].ToString());
                    mailItemData.NewMailFlag    = int.Parse(mailItemDataDic["nf"].ToString());
                    if (mailItemData.NewMailFlag == 1)
                    {
                        playerData.GetInstance().mailData.unReadMailCount++;
                    }
                    int goldcount    = int.Parse(mailItemDataDic["gold"].ToString());
                    int diamondcount = int.Parse(mailItemDataDic["diamond"].ToString());
                    mailItemData.accessoryDataList.Clear();//清空一下附件物品list
                    if (goldcount > 0)
                    {
                        MailAccessoryData accessoryData = new MailAccessoryData();
                        accessoryData.Type      = MailGoodsType.GoldType;
                        accessoryData.Gold      = goldcount;
                        accessoryData.Diamond   = 0;
                        accessoryData.GradeType = GradeType.Green;
                        if (mailItemData.IsHaveGetGoods == 1)
                        {
                            accessoryData.IsHaveGet = false;
                        }
                        else
                        {
                            accessoryData.IsHaveGet = true;
                        }
                        accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("Prop");
                        mailItemData.accessoryDataList.Add(accessoryData);
                    }
                    if (diamondcount > 0)
                    {
                        MailAccessoryData accessoryData = new MailAccessoryData();
                        accessoryData.Type      = MailGoodsType.DiamomdType;
                        accessoryData.Diamond   = diamondcount;
                        accessoryData.Gold      = 0;
                        accessoryData.GradeType = GradeType.Green;
                        if (mailItemData.IsHaveGetGoods == 1)
                        {
                            accessoryData.IsHaveGet = false;
                        }
                        else
                        {
                            accessoryData.IsHaveGet = true;
                        }
                        accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("Prop");
                        mailItemData.accessoryDataList.Add(accessoryData);
                    }

                    object[] itemList = mailItemDataDic["item"] as object[];
                    if (itemList != null)
                    {
                        for (int j = 0; j < itemList.Length; j++)
                        {
                            Dictionary <string, object> itemDataDic   = itemList[j] as Dictionary <string, object>;
                            MailAccessoryData           accessoryData = new MailAccessoryData();
                            accessoryData.Type  = MailGoodsType.ItemType;
                            accessoryData.Id    = int.Parse(itemDataDic["id"].ToString());
                            accessoryData.Count = long.Parse(itemDataDic["at"].ToString());
                            if (mailItemData.IsHaveGetGoods == 1)
                            {
                                accessoryData.IsHaveGet = false;
                            }
                            else
                            {
                                accessoryData.IsHaveGet = true;
                            }
                            switch (GameLibrary.Instance().ItemStateList[accessoryData.Id].grade) //(VOManager.Instance().GetCSV<ItemCSV>("Item").GetVO(accessoryData.Id).grade)
                            {
                            case 1:
                                accessoryData.GradeType = GradeType.Gray;
                                break;

                            case 2:
                                accessoryData.GradeType = GradeType.Green;
                                break;

                            case 4:
                                accessoryData.GradeType = GradeType.Blue;
                                break;

                            case 7:
                                accessoryData.GradeType = GradeType.Purple;
                                break;

                            case 11:
                                accessoryData.GradeType = GradeType.Orange;
                                break;

                            case 16:
                                accessoryData.GradeType = GradeType.Red;
                                break;
                            }
                            ItemNodeState itemnodestate = null;
                            if (GameLibrary.Instance().ItemStateList.ContainsKey(accessoryData.Id))
                            {
                                itemnodestate          = GameLibrary.Instance().ItemStateList[accessoryData.Id];
                                accessoryData.ItemType = itemnodestate.types;
                                if (itemnodestate.types == 6)
                                {
                                    accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("UIHeroHead");
                                }
                                else
                                {
                                    accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("Prop");
                                }
                            }

                            mailItemData.accessoryDataList.Add(accessoryData);
                        }
                    }
                    playerData.GetInstance().mailData.mailItemList.Add(mailItemData);
                }
                if (SceneManager.GetActiveScene().name == GameLibrary.UI_Major)
                {
                    //playerData.GetInstance().NewMailHandler(playerData.GetInstance().mailData.unReadMailCount);
                    //Control.ShowGUI(UIPanleID.UIMail);
                    //Control.ShowGUI(GameLibrary.UIMailPanel);
                }
            }
        }
        else
        {
            Debug.Log(string.Format("获取邮箱列表失败:{0}", data["desc"].ToString()));
        }
        return(true);
    }
Ejemplo n.º 8
0
    /// <summary>
    /// 服务器回调:获得单个邮箱信息
    /// </summary>
    /// <param name="packet"></param>
    /// <returns></returns>
    private bool SingleMailInfoResult(CReadPacket packet)
    {
        Debug.Log("SingleMailInfoResult");
        Dictionary <string, object> data = packet.data;
        int resolt = int.Parse(data["ret"].ToString());

        if (resolt == 0)
        {
            //object[] mailItem = data["mail"] as object[];
            Dictionary <string, object> mailItem = data["mail"] as Dictionary <string, object>;
            if (mailItem != null)
            {
                MailItemData mailItemData = new MailItemData();
                mailItemData.Id             = long.Parse(mailItem["idx"].ToString());
                mailItemData.NiceName       = mailItem["sn"].ToString();
                mailItemData.Title          = mailItem["tit"].ToString();
                mailItemData.Content        = mailItem["c"].ToString();
                mailItemData.MainType       = mailItem["mt"].ToString();
                mailItemData.Type           = mailItem["st"].ToString();
                mailItemData.IsHaveGetGoods = int.Parse(mailItem["dit"].ToString());
                mailItemData.CreatTime      = long.Parse(mailItem["ct"].ToString());
                mailItemData.EndTime        = long.Parse(mailItem["ot"].ToString());
                mailItemData.NewMailFlag    = int.Parse(mailItem["nf"].ToString());
                if (mailItemData.NewMailFlag == 1)
                {
                    playerData.GetInstance().mailData.unReadMailCount++;
                }
                int goldcount    = int.Parse(mailItem["gold"].ToString());
                int diamondcount = int.Parse(mailItem["diamond"].ToString());
                mailItemData.accessoryDataList.Clear();//清空一下附件物品list
                if (goldcount > 0)
                {
                    MailAccessoryData accessoryData = new MailAccessoryData();
                    accessoryData.Type      = MailGoodsType.GoldType;
                    accessoryData.Gold      = goldcount;
                    accessoryData.Diamond   = 0;
                    accessoryData.GradeType = GradeType.Green;
                    if (mailItemData.IsHaveGetGoods == 1)
                    {
                        accessoryData.IsHaveGet = false;
                    }
                    else
                    {
                        accessoryData.IsHaveGet = true;
                    }
                    accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("Prop");
                    mailItemData.accessoryDataList.Add(accessoryData);
                }
                if (diamondcount > 0)
                {
                    MailAccessoryData accessoryData = new MailAccessoryData();
                    accessoryData.Type      = MailGoodsType.DiamomdType;
                    accessoryData.Diamond   = diamondcount;
                    accessoryData.Gold      = 0;
                    accessoryData.GradeType = GradeType.Green;
                    if (mailItemData.IsHaveGetGoods == 1)
                    {
                        accessoryData.IsHaveGet = false;
                    }
                    else
                    {
                        accessoryData.IsHaveGet = true;
                    }
                    accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("Prop");
                    mailItemData.accessoryDataList.Add(accessoryData);
                }

                object[] itemList = mailItem["item"] as object[];
                if (itemList != null)
                {
                    for (int j = 0; j < itemList.Length; j++)
                    {
                        Dictionary <string, object> itemDataDic   = itemList[j] as Dictionary <string, object>;
                        MailAccessoryData           accessoryData = new MailAccessoryData();
                        accessoryData.Type  = MailGoodsType.ItemType;
                        accessoryData.Id    = int.Parse(itemDataDic["id"].ToString());
                        accessoryData.Count = long.Parse(itemDataDic["at"].ToString());
                        if (mailItemData.IsHaveGetGoods == 1)
                        {
                            accessoryData.IsHaveGet = false;
                        }
                        else
                        {
                            accessoryData.IsHaveGet = true;
                        }
                        switch (GameLibrary.Instance().ItemStateList[accessoryData.Id].grade) //(VOManager.Instance().GetCSV<ItemCSV>("Item").GetVO(accessoryData.Id).grade)
                        {
                        case 1:
                            accessoryData.GradeType = GradeType.Gray;
                            break;

                        case 2:
                            accessoryData.GradeType = GradeType.Green;
                            break;

                        case 4:
                            accessoryData.GradeType = GradeType.Blue;
                            break;

                        case 7:
                            accessoryData.GradeType = GradeType.Purple;
                            break;

                        case 11:
                            accessoryData.GradeType = GradeType.Orange;
                            break;

                        case 16:
                            accessoryData.GradeType = GradeType.Red;
                            break;
                        }
                        ItemNodeState itemnodestate = null;
                        if (GameLibrary.Instance().ItemStateList.ContainsKey(accessoryData.Id))
                        {
                            itemnodestate          = GameLibrary.Instance().ItemStateList[accessoryData.Id];
                            accessoryData.ItemType = itemnodestate.types;
                            if (itemnodestate.types == 6 || itemnodestate.types == 7)
                            {
                                accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("UIHeroHead");
                            }
                            else
                            {
                                accessoryData.UiAtlas = ResourceManager.Instance().GetUIAtlas("Prop");
                            }
                        }

                        mailItemData.accessoryDataList.Add(accessoryData);
                    }
                }
                playerData.GetInstance().mailData.mailItemList.Insert(0, mailItemData);
                playerData.GetInstance().mailData.currentCount++;
                playerData.GetInstance().mailData.maxCount++;//服务器第一次给的最大值和邮箱当前数量一样,所以暂时也++,
                //if (Singleton<SceneManage>.Instance.Current == EnumSceneID.UI_MajorCity01)
                //{
                //    playerData.GetInstance().NewMailHandler(playerData.GetInstance().mailData.unReadMailCount);
                //    //Control.ShowGUI(GameLibrary.UIMail);
                //    //if (Control.GetGUI(GameLibrary.UIMailPanel).gameObject.activeSelf)
                //    //{
                //    //    UIMailPanel.Instance.InitMailItemData();
                //    //}
                //}

                //未打开邮箱界面 只增加新邮件信息和更新界面数量提示即可
                //如果推送新邮件时 邮箱界面在打开界面,刷新一下邮箱内容
            }
            //playerData.GetInstance().mailData.unReadMailCount = 0;
            //playerData.GetInstance().mailData.startIndex = int.Parse(data["start"].ToString());
            //playerData.GetInstance().mailData.currentCount = int.Parse(data["count"].ToString());
            //playerData.GetInstance().mailData.maxCount = int.Parse(data["maxCount"].ToString());
        }
        else
        {
            Debug.Log(string.Format("获取单个邮箱信息失败:{0}", data["desc"].ToString()));
        }

        return(true);
    }