MailSProxy.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. using System.Collections.Generic;
  2. using ET;
  3. using GFGGame;
  4. namespace ET
  5. {
  6. public class NoticeMailCountChanged : AMHandler<G2C_MailCountChanged>
  7. {
  8. protected override async ETTask Run(Session session, G2C_MailCountChanged message)
  9. {
  10. MailDataManager.Instance.TotolCount = message.TotolCount;
  11. MailDataManager.Instance.UnreadCount = message.UnreadCount;
  12. await ETTask.CompletedTask;
  13. }
  14. }
  15. }
  16. namespace GFGGame
  17. {
  18. public static class MailSProxy
  19. {
  20. public static async ETTask<bool> ReqMailCount()
  21. {
  22. G2C_GetMailCount response = null;
  23. response = (G2C_GetMailCount)await MessageHelper.SendToServer(new C2G_GetMailCount());
  24. if (response != null)
  25. {
  26. if (response.Error == ErrorCode.ERR_Success)
  27. {
  28. MailDataManager.Instance.TotolCount = response.TotolCount;
  29. MailDataManager.Instance.UnreadCount = response.UnreadCount;
  30. return true;
  31. }
  32. }
  33. return false;
  34. }
  35. public static async ETTask<bool> ReqMailList(int index, int count, bool sort)
  36. {
  37. G2C_GetMailList response = null;
  38. response = (G2C_GetMailList)await MessageHelper.SendToServer(new C2G_GetMailList() { StartIndex = index, Count = count, NeedSort = sort });
  39. if (response != null)
  40. {
  41. if (response.Error == ErrorCode.ERR_Success)
  42. {
  43. List<MailInfo> mailInfos = new List<MailInfo>();
  44. for (int i = 0; i < response.mailList.Count; i++)
  45. {
  46. MailInfo mailInfo = new MailInfo();
  47. mailInfo.mailId = response.mailList[i].MailId;
  48. mailInfo.title = response.mailList[i].Tile;
  49. mailInfo.timeSec = response.mailList[i].TimeSec;
  50. mailInfo.state = response.mailList[i].Status;
  51. mailInfo.hasItem = response.mailList[i].HasItem;
  52. mailInfos.Add(mailInfo);
  53. }
  54. MailDataManager.Instance.UpdateMailInfoList(mailInfos);
  55. return true;
  56. }
  57. }
  58. return false;
  59. }
  60. public static async ETTask<bool> ReqMailContent(int mailId)
  61. {
  62. G2C_GetMailData response = null;
  63. response = (G2C_GetMailData)await MessageHelper.SendToServer(new C2G_GetMailData() { MailId = mailId });
  64. if (response != null)
  65. {
  66. if (response.Error == ErrorCode.ERR_Success)
  67. {
  68. MailDataManager.Instance.UnreadCount = response.UnreadCount;
  69. int state = response.Status;
  70. string content = response.MailDetail.Content;
  71. List<ItemData> itemDatas = ItemUtil.CreateItemDataList(response.MailDetail.ItemList);
  72. MailDataManager.Instance.UpdateMailContent(response.MailId, state, content, itemDatas);
  73. return true;
  74. }
  75. }
  76. return false;
  77. }
  78. public static async ETTask<bool> ReqMailReward(int mailId)
  79. {
  80. G2C_GetMailItems response = null;
  81. response = (G2C_GetMailItems)await MessageHelper.SendToServer(new C2G_GetMailItems() { MailId = mailId });
  82. if (response != null)
  83. {
  84. if (response.Error == ErrorCode.ERR_Success)
  85. {
  86. MailDataManager.Instance.UpdateMailContent(response.MailId, response.Status);
  87. List<ItemData> itemDatas = MailDataManager.Instance.GetMailInfoById(response.MailId).rewards;
  88. BonusController.TryShowBonusList(itemDatas);
  89. EventAgent.DispatchEvent(ConstMessage.MAIL_REFRESH);
  90. return true;
  91. }
  92. }
  93. return false;
  94. }
  95. public static async ETTask<bool> ReqDeleteMail(int mailId)
  96. {
  97. G2C_DeleteMail response = null;
  98. response = (G2C_DeleteMail)await MessageHelper.SendToServer(new C2G_DeleteMail() { MailId = mailId });
  99. if (response != null)
  100. {
  101. if (response.Error == ErrorCode.ERR_Success)
  102. {
  103. MailDataManager.Instance.TotolCount = response.TotolCount;
  104. EventAgent.DispatchEvent(ConstMessage.MAIL_CHANGE);
  105. return true;
  106. }
  107. }
  108. return false;
  109. }
  110. public static async ETTask<bool> ReqAllMailRewards()
  111. {
  112. G2C_GetAllMailItems response = null;
  113. response = (G2C_GetAllMailItems)await MessageHelper.SendToServer(new C2G_GetAllMailItems());
  114. if (response != null)
  115. {
  116. if (response.Error == ErrorCode.ERR_Success)
  117. {
  118. List<ItemData> itemDatas = ItemUtil.CreateItemDataList(response.ItemList);
  119. BonusController.TryShowBonusList(itemDatas);
  120. EventAgent.DispatchEvent(ConstMessage.MAIL_REFRESH);
  121. return true;
  122. }
  123. }
  124. return false;
  125. }
  126. public static async ETTask<bool> ReqDeleteAllMails()
  127. {
  128. G2C_DeleteAllMails response = null;
  129. response = (G2C_DeleteAllMails)await MessageHelper.SendToServer(new C2G_DeleteAllMails());
  130. if (response != null)
  131. {
  132. if (response.Error == ErrorCode.ERR_Success)
  133. {
  134. if (response.DeleteCount > 0)
  135. {
  136. MailDataManager.Instance.TotolCount = MailDataManager.Instance.TotolCount - response.DeleteCount;
  137. EventAgent.DispatchEvent(ConstMessage.MAIL_CHANGE);
  138. }
  139. return true;
  140. }
  141. }
  142. return false;
  143. }
  144. }
  145. }