FieldSProxy.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. using System;
  2. using System.Collections.Generic;
  3. using ET;
  4. using GFGGame;
  5. namespace GFGGame
  6. {
  7. public static class FieldSProxy
  8. {
  9. public static async ETTask<bool> ReqFieldInstanceInfos()
  10. {
  11. M2C_GetFieldInstanceInfos response = null;
  12. response = (M2C_GetFieldInstanceInfos)await MessageHelper.SendToServer(new C2M_GetFieldInstanceInfos());
  13. if (response != null)
  14. {
  15. if (response.Error == ErrorCode.ERR_Success)
  16. {
  17. // FieldInfos fieldInfos =new FieldInfos();
  18. FieldDataManager.Instance.fieldInfos.theme = response.Theme;
  19. FieldDataManager.Instance.fieldInfos.highestLvls = new Dictionary<int, int>();
  20. for (int i = 0; i < response.kHighestLvl.Count; i++)
  21. {
  22. FieldDataManager.Instance.fieldInfos.highestLvls.Add(response.kHighestLvl[i], response.vHighestLvl[i]);
  23. }
  24. FieldDataManager.Instance.fieldInfos.bonusWeekly = response.BonusWeekly;
  25. FieldDataManager.Instance.fieldInfos.bonusMaxLimit = response.BonusMaxLimit;
  26. FieldDataManager.Instance.fieldInfos.hasBonus = response.HasBonus;
  27. FieldDataManager.Instance.fieldInfos.taskDic = new Dictionary<int, int>();
  28. for (int i = 0; i < response.kTaskIds.Count; i++)
  29. {
  30. FieldDataManager.Instance.fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]);
  31. }
  32. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  33. return true;
  34. }
  35. }
  36. return false;
  37. }
  38. public static async ETTask<bool> ReqFieldInstanceResult()
  39. {
  40. M2C_GetFieldInstanceResult response = null;
  41. response = (M2C_GetFieldInstanceResult)await MessageHelper.SendToServer(new C2M_GetFieldInstanceResult());
  42. if (response != null)
  43. {
  44. if (response.Error == ErrorCode.ERR_Success)
  45. {
  46. // FieldResult fieldResult = FieldDataManager.Instance.fieldResult;
  47. FieldDataManager.Instance.fieldResult.passLvl = response.PassLvl;
  48. FieldDataManager.Instance.fieldResult.bonusList = ItemUtil.CreateItemDataList(response.BonusList);
  49. FieldDataManager.Instance.fieldResult.costNum = response.CostNum;
  50. FieldDataManager.Instance.fieldResult.chapterId = response.ChapterId;
  51. // FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;
  52. FieldDataManager.Instance.fieldInfos.highestLvls[FieldDataManager.Instance.fieldResult.chapterId] = response.HighestLvl;
  53. FieldDataManager.Instance.fieldInfos.bonusWeekly = response.BonusWeekly;
  54. for (int i = 0; i < response.kTaskIds.Count; i++)
  55. {
  56. if (!FieldDataManager.Instance.fieldInfos.taskDic.ContainsKey(response.kTaskIds[i]))
  57. {
  58. FieldDataManager.Instance.fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]);
  59. }
  60. else
  61. {
  62. FieldDataManager.Instance.fieldInfos.taskDic[response.kTaskIds[i]] = response.vTaskStatus[i];
  63. }
  64. }
  65. EventAgent.DispatchEvent(ConstMessage.FIELD_RESULT);
  66. return true;
  67. }
  68. }
  69. return false;
  70. }
  71. public static async ETTask<bool> ReqFieldTaskBonus(int taskId)
  72. {
  73. M2C_GetFieldTaskBonus response = null;
  74. response = (M2C_GetFieldTaskBonus)await MessageHelper.SendToServer(new C2M_GetFieldTaskBonus() { TaskId = taskId });
  75. if (response != null)
  76. {
  77. if (response.Error == ErrorCode.ERR_Success)
  78. {
  79. // FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;
  80. FieldDataManager.Instance.fieldInfos.bonusMaxLimit = response.BonusMaxLimit;
  81. FieldDataManager.Instance.fieldInfos.taskDic[response.TaskId] = response.TaskStatus;
  82. EventAgent.DispatchEvent(ConstMessage.FIELD_TASK);
  83. return true;
  84. }
  85. }
  86. return false;
  87. }
  88. //监听田野调查任务状态
  89. public class FieldTaskState : AMHandler<S2C_FieldTaskBonus>
  90. {
  91. protected override async ETTask Run(Session session, S2C_FieldTaskBonus message)
  92. {
  93. if (FieldDataManager.Instance.fieldInfos.taskDic != null)
  94. {
  95. for (int i = 0; i < message.kTaskIds.Count; i++)
  96. {
  97. if (!FieldDataManager.Instance.fieldInfos.taskDic.ContainsKey(message.kTaskIds[i]))
  98. {
  99. FieldDataManager.Instance.fieldInfos.taskDic.Add(message.kTaskIds[i], message.vTaskStatus[i]);
  100. }
  101. else
  102. {
  103. FieldDataManager.Instance.fieldInfos.taskDic[message.kTaskIds[i]] = message.vTaskStatus[i];
  104. }
  105. }
  106. }
  107. await ETTask.CompletedTask;
  108. }
  109. }
  110. }
  111. }