FieldSProxy.cs 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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 = FieldDataManager.Instance.fieldInfos;
  18. fieldInfos.theme = response.Theme;
  19. fieldInfos.highestLvls = new Dictionary<int, int>();
  20. for (int i = 0; i < response.kHighestLvl.Count; i++)
  21. {
  22. fieldInfos.highestLvls.Add(response.kHighestLvl[i], response.vHighestLvl[i]);
  23. }
  24. fieldInfos.bonusWeekly = response.BonusWeekly;
  25. fieldInfos.bonusMaxLimit = response.BonusMaxLimit;
  26. fieldInfos.hasBonus = response.HasBonus;
  27. fieldInfos.taskDic = new Dictionary<int, int>();
  28. for (int i = 0; i < response.kTaskIds.Count; i++)
  29. {
  30. fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]);
  31. }
  32. return true;
  33. }
  34. }
  35. return false;
  36. }
  37. public static async ETTask<bool> ReqFieldInstanceResult()
  38. {
  39. M2C_GetFieldInstanceResult response = null;
  40. response = (M2C_GetFieldInstanceResult)await MessageHelper.SendToServer(new C2M_GetFieldInstanceResult());
  41. if (response != null)
  42. {
  43. if (response.Error == ErrorCode.ERR_Success)
  44. {
  45. FieldResult fieldResult = FieldDataManager.Instance.fieldResult;
  46. fieldResult.passLvl = response.PassLvl;
  47. fieldResult.bonusList = ItemUtil.CreateItemDataList(response.BonusList);
  48. fieldResult.costNum = response.CostNum;
  49. fieldResult.chapterId = response.ChapterId;
  50. FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;
  51. fieldInfos.highestLvls[fieldResult.chapterId] = response.HighestLvl;
  52. fieldInfos.bonusWeekly = response.BonusWeekly;
  53. for (int i = 0; i < response.kTaskIds.Count; i++)
  54. {
  55. if (!fieldInfos.taskDic.ContainsKey(response.kTaskIds[i]))
  56. {
  57. fieldInfos.taskDic.Add(response.kTaskIds[i], response.vTaskStatus[i]);
  58. }
  59. else
  60. {
  61. fieldInfos.taskDic[response.kTaskIds[i]] = response.vTaskStatus[i];
  62. }
  63. }
  64. return true;
  65. }
  66. }
  67. return false;
  68. }
  69. public static async ETTask<bool> ReqFieldTaskBonus(int taskId)
  70. {
  71. M2C_GetFieldTaskBonus response = null;
  72. response = (M2C_GetFieldTaskBonus)await MessageHelper.SendToServer(new C2M_GetFieldTaskBonus() { TaskId = taskId });
  73. if (response != null)
  74. {
  75. if (response.Error == ErrorCode.ERR_Success)
  76. {
  77. FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;
  78. fieldInfos.bonusMaxLimit = response.BonusMaxLimit;
  79. fieldInfos.taskDic[response.TaskId] = response.TaskStatus;
  80. return true;
  81. }
  82. }
  83. return false;
  84. }
  85. }
  86. }