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