| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 | 
							- using System;
 
- using System.Collections.Generic;
 
- using ET;
 
- using GFGGame;
 
- using Hutool;
 
- namespace ET
 
- {
 
-     public class M2C_SyncBattlePassHandler : AMHandler<M2C_SyncBattlePass>
 
-     {
 
-         protected override async ETTask Run(Session session, M2C_SyncBattlePass message)
 
-         {
 
-             var battlePassTaskDataManager = BattlePassTaskDataManager.Instance;
 
-             if (battlePassTaskDataManager.GetSeasonId() != message.SeasonId)
 
-             {
 
-                 return;
 
-             }
 
-             battlePassTaskDataManager.SetIsBuy(message.IsBuy);
 
-             EventAgent.DispatchEvent(ConstMessage.NOTICE_PASSPORT_OPEN);
 
-             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 
-             await ETTask.CompletedTask;
 
-         }
 
-     }
 
-     public class M2C_SyncBattlePassLevelHandler : AMHandler<M2C_SyncBattlePassLevel>
 
-     {
 
-         protected override async ETTask Run(Session session, M2C_SyncBattlePassLevel message)
 
-         {
 
-             var battlePassTaskDataManager = BattlePassTaskDataManager.Instance;
 
-             foreach (var level in message.Level)
 
-             {
 
-                 battlePassTaskDataManager.AddNormalReward(level);
 
-             }
 
-             foreach (var superLevel in message.SuperLevel)
 
-             {
 
-                 battlePassTaskDataManager.AddSuperReward(superLevel);
 
-             }
 
-             EventAgent.DispatchEvent(ConstMessage.NOTICE_PASSPORT_LEVEL_CHANGE);
 
-             await ETTask.CompletedTask;
 
-         }
 
-     }
 
-     //M2C_SyncBattlePassSeasonId
 
-     public class M2C_SyncBattlePassSeasonIdHandler : AMHandler<M2C_SyncBattlePassSeasonId>
 
-     {
 
-         protected override async ETTask Run(Session session, M2C_SyncBattlePassSeasonId message)
 
-         {
 
-             var battlePassTaskDataManager = BattlePassTaskDataManager.Instance;
 
-             battlePassTaskDataManager.SetSeasonId(message.SeasonId);
 
-             EventAgent.DispatchEvent(ConstMessage.NOTICE_PASSPORT_SEASON_CHANGE);
 
-             await ETTask.CompletedTask;
 
-         }
 
-     }
 
- }
 
- namespace GFGGame
 
- {
 
-     public static class BattlePassTaskSProxy
 
-     {
 
-         //C2S_GetBattlePassInfo
 
-         public static async ETTask GetBattlePassInfo()
 
-         {
 
-             var response = (S2C_GetBattlePassInfo)await MessageHelper.SendToServer(new C2S_GetBattlePassInfo());
 
-             if (!(response is { Error: ErrorCode.ERR_Success })) return;
 
-             var battlePassTaskDataManager = BattlePassTaskDataManager.Instance;
 
-             battlePassTaskDataManager.SetIsBuy(response.IsBuy);
 
-             battlePassTaskDataManager.SetSeasonId(response.SeasonId);
 
-             battlePassTaskDataManager.initedFromServer = true;
 
-             foreach (var level in response.RewardList)
 
-             {
 
-                 battlePassTaskDataManager.AddNormalReward(level);
 
-             }
 
-             foreach (var superLevel in response.SuperRewardList)
 
-             {
 
-                 battlePassTaskDataManager.AddSuperReward(superLevel);
 
-             }
 
-         }
 
-         //C2S_GetBattlePassReward
 
-         public static async ETTask<bool> GetBattlePassReward(int level)
 
-         {
 
-             var response =
 
-                 (S2C_GetBattlePassReward)await MessageHelper.SendToServer(new C2S_GetBattlePassReward { Id = level });
 
-             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
 
-             var responseGetType = response.Type;
 
-             //获取通行证奖励配置
 
-             var passCfg =
 
-                 BattlePassCfgArray.Instance.GetCfgByidAndlevel(BattlePassTaskDataManager.Instance.GetSeasonId(), level);
 
-             if (passCfg == null) return false;
 
-             var passCfgBonusNormalArr = passCfg.bonusNormalArr;
 
-             var passCfgBonusSuperArr = passCfg.bonusSpecialArr;
 
-             var bonusList = new List<ItemData>();
 
-             if (MathUtil.isBitSet(responseGetType, 1))
 
-             {
 
-                 bonusList.AddRange(ItemUtil.CreateItemDataList(passCfgBonusNormalArr));
 
-                 BattlePassTaskDataManager.Instance.AddNormalReward(level);
 
-             }
 
-             if (MathUtil.isBitSet(responseGetType, 2))
 
-             {
 
-                 bonusList.AddRange(ItemUtil.CreateItemDataList(passCfgBonusSuperArr));
 
-                 BattlePassTaskDataManager.Instance.AddSuperReward(level);
 
-             }
 
-             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 
-             BonusController.TryShowBonusList(bonusList);
 
-             return true;
 
-         }
 
-         //C2S_GetAllBattlePassReward
 
-         public static async ETTask<bool> GetAllBattlePassReward(Action onSuccess = null)
 
-         {
 
-             var response =
 
-                 (S2C_GetAllBattlePassReward)await MessageHelper.SendToServer(new C2S_GetAllBattlePassReward());
 
-             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
 
-             var normalLevels = response.Levels;
 
-             var superLevels = response.SuperLevels;
 
-             var levels = new HashSet<int>();
 
-             levels.UnionWith(normalLevels);
 
-             levels.UnionWith(superLevels);
 
-             var bonusList = new List<ItemData>();
 
-             var dataManager = BattlePassTaskDataManager.Instance;
 
-             foreach (var level in levels)
 
-             {
 
-                 //获取通行证奖励配置
 
-                 var passCfg =
 
-                     BattlePassCfgArray.Instance.GetCfgByidAndlevel(dataManager.GetSeasonId(),
 
-                         level);
 
-                 if (normalLevels.Contains(level))
 
-                 {
 
-                     bonusList.AddRange(ItemUtil.CreateItemDataList(passCfg.bonusNormalArr));
 
-                     dataManager.AddNormalReward(level);
 
-                 }
 
-                 if (superLevels.Contains(level))
 
-                 {
 
-                     bonusList.AddRange(ItemUtil.CreateItemDataList(passCfg.bonusSpecialArr));
 
-                     dataManager.AddSuperReward(level);
 
-                 }
 
-             }
 
-             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 
-             BonusController.TryShowBonusList(bonusList, onSuccess);
 
-             return true;
 
-         }
 
-         //购买等级 C2S_BuyBattlePassLevel
 
-         public static async ETTask<bool> BuyBattlePassLevel(int upLevel)
 
-         {
 
-             var response = (S2C_BuyBattlePassLevel)await MessageHelper.SendToServer(new C2S_BuyBattlePassLevel
 
-                 { UpLevel = upLevel });
 
-             return response is { Error: ErrorCode.ERR_Success };
 
-         }
 
-     }
 
- }
 
 
  |