FieldSProxy.cs 3.7 KB

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