ActivitySProxy.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. using System;
  2. using System.Collections.Generic;
  3. using ET;
  4. using GFGGame;
  5. using Hutool;
  6. namespace GFGGame
  7. {
  8. public class NoticeTimeLimitLuckyBoxDropOutCount : AMHandler<S2C_NoticeTimeLimitLuckyBoxDropOutCount>
  9. {
  10. protected override async ETTask Run(Session session, S2C_NoticeTimeLimitLuckyBoxDropOutCount message)
  11. {
  12. var activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(message.ActivityId);
  13. if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox)
  14. ActivityDataManager.Instance.lastDrawCount = message.Count;
  15. else if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
  16. ActivityDataManager.Instance.lastTsyDrawCount = message.Count;
  17. EventAgent.DispatchEvent(ConstMessage.ACTIVITY_LUCKY_BOX);
  18. await ETTask.CompletedTask;
  19. }
  20. }
  21. /**********************************************************七日登录*************************************************/
  22. public static class ActivitySProxy
  23. {
  24. public static async ETTask<bool> ReqSevenDayLoginInfos()
  25. {
  26. M2C_GetDailySignInBonusInfoList response = null;
  27. response = (M2C_GetDailySignInBonusInfoList)await MessageHelper.SendToServer(new C2M_GetDailySignInBonusInfoList());
  28. if (response != null)
  29. {
  30. if (response.Error == ErrorCode.ERR_Success)
  31. {
  32. ActivityDataManager.Instance.sevenDayLoginLoginIdList = response.KsBonusId;
  33. ActivityDataManager.Instance.sevenDayLoginBonusStatusList = response.VsBonusStatus;
  34. return true;
  35. }
  36. }
  37. return false;
  38. }
  39. public static async ETTask<bool> ReqSevenDayLoginRewards(int id)
  40. {
  41. M2C_GetDailySinInBonus response = null;
  42. response = (M2C_GetDailySinInBonus)await MessageHelper.SendToServer(new C2M_GetDailySinInBonus() { BonusId = id });
  43. if (response != null)
  44. {
  45. if (response.Error == ErrorCode.ERR_Success)
  46. {
  47. ActivityDataManager.Instance.sevenDayLoginBonusStatusList[response.BonusId - 1] = response.BonusStatus;
  48. int[][] rewards = DailyLoginCfgArray.Instance.GetCfg(response.BonusId).rewardsArr;
  49. BonusController.TryShowBonusList(rewards, onSuccess: () =>
  50. {
  51. //签到完成后,关闭获得物品页面后,自动每日签到,窗口让玩家手动关闭
  52. bool isGot = MathUtil.isBitSet(GameGlobal.myNumericComponent.GetAsLong(NumericType.SignDay),
  53. TimeUtil.GetCurDay());
  54. if (!isGot)
  55. {
  56. if (RedDotDataManager.Instance.DailySignRed())
  57. {
  58. ViewManager.Show<DailySignView>(new object[] { 1 });
  59. }
  60. }
  61. });
  62. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  63. return true;
  64. }
  65. }
  66. return false;
  67. }
  68. /*************************************************************首冲奖励*****************************************************/
  69. //领取首冲奖励
  70. public static async ETTask<bool> ReqFirstChargeBonusRewards()
  71. {
  72. S2C_GetFirstRechargeBonus response = null;
  73. response = (S2C_GetFirstRechargeBonus)await MessageHelper.SendToServer(new C2S_GetFirstRechargeBonus() { });
  74. if (response != null)
  75. {
  76. if (response.Error == ErrorCode.ERR_Success)
  77. {
  78. BonusController.TryShowBonusList(GlobalCfgArray.globalCfg.firstChargeBonusArr);
  79. return true;
  80. }
  81. }
  82. return false;
  83. }
  84. /*************************************************************限时抽奖活动*****************************************************/
  85. //请求限时抽奖活动信息
  86. public static async ETTask<bool> ReqGetTimeLimitLuckyBoxInfo(int activityId)
  87. {
  88. S2C_GetTimeLimitLuckyBoxInfo response = null;
  89. response = (S2C_GetTimeLimitLuckyBoxInfo)await MessageHelper.SendToServer(new C2S_GetTimeLimitLuckyBoxInfo() { ActivityId = activityId });
  90. if (response != null)
  91. {
  92. if (response.Error == ErrorCode.ERR_Success)
  93. {
  94. var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
  95. if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox) {
  96. if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId)
  97. {
  98. ActivityDataManager.Instance.luckyBoxActBonusState.Clear();
  99. }
  100. ActivityDataManager.Instance.actLuckyBoxId = response.ActivityId;
  101. ActivityDataManager.Instance.allPlayTimes = response.AllPlayTimes;
  102. ActivityDataManager.Instance.lastDrawCount = response.Count;
  103. for (int i = 0; i < response.KsBonusState.Count; i++)
  104. {
  105. ActivityDataManager.Instance.luckyBoxActBonusState[response.KsBonusState[i]] = response.VsBonusState[i];
  106. }
  107. }
  108. else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
  109. {
  110. if (ActivityDataManager.Instance.actLimitTsyId != response.ActivityId)
  111. {
  112. ActivityDataManager.Instance.luckyActTsyBonusState.Clear();
  113. }
  114. ActivityDataManager.Instance.actLimitTsyId = response.ActivityId;
  115. ActivityDataManager.Instance.allTsyPlayTimes = response.AllPlayTimes;
  116. ActivityDataManager.Instance.lastTsyDrawCount = response.Count;
  117. for (int i = 0; i < response.KsBonusState.Count; i++)
  118. {
  119. ActivityDataManager.Instance.luckyActTsyBonusState[response.KsBonusState[i]] = response.VsBonusState[i];
  120. }
  121. }
  122. return true;
  123. }
  124. }
  125. return false;
  126. }
  127. /// <summary>
  128. /// 领取抽奖奖励
  129. /// </summary>
  130. /// <param name="activityId"></param>
  131. /// <param name="bonusKey">奖励key,这里对应抽奖次数</param>
  132. /// <returns></returns>
  133. public static async ETTask<bool> ReqGetTimeLimitLuckyBoxBonus(int activityId, int bonusKey)
  134. {
  135. S2C_GetTimeLimitLuckyBoxBonus response = null;
  136. response = (S2C_GetTimeLimitLuckyBoxBonus)await MessageHelper.SendToServer(new C2S_GetTimeLimitLuckyBoxBonus() { ActivityId = activityId, BonusKey = bonusKey });
  137. if (response != null)
  138. {
  139. if (response.Error == ErrorCode.ERR_Success)
  140. {
  141. var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId);
  142. if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox)
  143. {
  144. if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId)
  145. {
  146. return false;
  147. }
  148. ActivityDataManager.Instance.luckyBoxActBonusState[response.BonusKey] = response.BonusStatus;
  149. }
  150. else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy)
  151. {
  152. if (ActivityDataManager.Instance.actLimitTsyId != response.ActivityId)
  153. {
  154. return false;
  155. }
  156. ActivityDataManager.Instance.luckyActTsyBonusState[response.BonusKey] = response.BonusStatus;
  157. }
  158. // int[][] bonus = ActivityLuckybonusCfgArray.Instance.GetCfgByidAndnum(response.ActivityId, response.BonusKey).bonusArr;
  159. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  160. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  161. EventAgent.DispatchEvent(ConstMessage.LUCKY_BOX_ACTIVITY_REWARD);
  162. return true;
  163. }
  164. }
  165. return false;
  166. }
  167. /*************************************************************限时累充*****************************************************/
  168. // /// <summary>
  169. // /// 领取累充奖励
  170. // /// </summary>
  171. // /// <param name="activityId"></param>
  172. // /// <param name="bonusKey">奖励key,这里对应抽奖次数</param>
  173. // /// <returns></returns>
  174. // public static async ETTask<bool> ReqGetLimitChargeBonus(int activityId, int bonusKey)
  175. // {
  176. // S2C_GetTimeLimitLuckyBoxBonus response = null;
  177. // response = (S2C_GetTimeLimitLuckyBoxBonus)await MessageHelper.SendToServer(new C2S_GetTimeLimitLuckyBoxBonus() { ActivityId = activityId, BonusKey = bonusKey });
  178. // if (response != null)
  179. // {
  180. // if (response.Error == ErrorCode.ERR_Success)
  181. // {
  182. // if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId)
  183. // {
  184. // return false;
  185. // }
  186. // ActivityDataManager.Instance.luckyBoxActBonusState[response.BonusKey] = response.BonusStatus;
  187. // int[][] bonus = ActivityLuckybonusCfgArray.Instance.GetCfgByidAndnum(response.ActivityId, response.BonusKey).bonusArr;
  188. // BonusController.TryShowBonusList(bonus);
  189. // return true;
  190. // }
  191. // }
  192. // return false;
  193. // }
  194. }
  195. }