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()); } }
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; } }
public override void Refresh(object data) { if (this.mMailData == data) { return; } this.mMailData = (MailItemData)data; this.Refresh(); }
/// <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); }
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 + "天后过期"; } }
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; } }
/// <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); }
/// <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); }