ActivitySProxy.cs 10 KB

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