FieldSProxy.cs 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System.Collections.Generic;
  2. using ET;
  3. using GFGGame;
  4. namespace GFGGame
  5. {
  6. public static class FieldSProxy
  7. {
  8. public static async ETTask<bool> ReqFieldInstanceInfos()
  9. {
  10. M2C_GetFieldInstanceInfos response = null;
  11. response = (M2C_GetFieldInstanceInfos)await MessageHelper.SendToServer(new C2M_GetFieldInstanceInfos());
  12. if (response != null)
  13. {
  14. if (response.Error == ErrorCode.ERR_Success)
  15. {
  16. FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;
  17. fieldInfos.theme = response.Theme;
  18. fieldInfos.highestLvls = new List<int>();
  19. fieldInfos.highestLvls.AddRange(response.HighestLvls);
  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.hardLvl = response.HardLvl;
  46. FieldInfos fieldInfos = FieldDataManager.Instance.fieldInfos;
  47. fieldInfos.highestLvls[response.HardLvl] = 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. }