using System; using System.Collections.Generic; using ET; using GFGGame; using Hutool; namespace GFGGame { public class NoticeTimeLimitLuckyBoxDropOutCount : AMHandler { protected override async ETTask Run(Session session, S2C_NoticeTimeLimitLuckyBoxDropOutCount message) { var activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(message.ActivityId); if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox) ActivityDataManager.Instance.lastDrawCount = message.Count; else if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitTsy) ActivityDataManager.Instance.lastTsyDrawCount = message.Count; EventAgent.DispatchEvent(ConstMessage.ACTIVITY_LUCKY_BOX); await ETTask.CompletedTask; } } /**********************************************************七日登录*************************************************/ public static class ActivitySProxy { public static async ETTask ReqSevenDayLoginInfos() { M2C_GetDailySignInBonusInfoList response = null; response = (M2C_GetDailySignInBonusInfoList)await MessageHelper.SendToServer(new C2M_GetDailySignInBonusInfoList()); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.sevenDayLoginLoginIdList = response.KsBonusId; ActivityDataManager.Instance.sevenDayLoginBonusStatusList = response.VsBonusStatus; return true; } } return false; } public static async ETTask ReqSevenDayLoginRewards(int id) { M2C_GetDailySinInBonus response = null; response = (M2C_GetDailySinInBonus)await MessageHelper.SendToServer(new C2M_GetDailySinInBonus() { BonusId = id }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.sevenDayLoginBonusStatusList[response.BonusId - 1] = response.BonusStatus; int[][] rewards = DailyLoginCfgArray.Instance.GetCfg(response.BonusId).rewardsArr; BonusController.TryShowBonusList(rewards, onSuccess: () => { //签到完成后,关闭获得物品页面后,自动每日签到,窗口让玩家手动关闭 bool isGot = MathUtil.isBitSet(GameGlobal.myNumericComponent.GetAsLong(NumericType.SignDay), TimeUtil.GetCurDay()); if (!isGot) { if (RedDotDataManager.Instance.DailySignRed()) { ViewManager.Show(new object[] { 1 }); } } }); EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); return true; } } return false; } /*************************************************************首冲奖励*****************************************************/ //领取首冲奖励 public static async ETTask ReqFirstChargeBonusRewards() { S2C_GetFirstRechargeBonus response = null; response = (S2C_GetFirstRechargeBonus)await MessageHelper.SendToServer(new C2S_GetFirstRechargeBonus() { }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { BonusController.TryShowBonusList(GlobalCfgArray.globalCfg.firstChargeBonusArr); return true; } } return false; } /*************************************************************限时抽奖活动*****************************************************/ //请求限时抽奖活动信息 public static async ETTask ReqGetTimeLimitLuckyBoxInfo(int activityId) { S2C_GetTimeLimitLuckyBoxInfo response = null; response = (S2C_GetTimeLimitLuckyBoxInfo)await MessageHelper.SendToServer(new C2S_GetTimeLimitLuckyBoxInfo() { ActivityId = activityId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId); if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox) { if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId) { ActivityDataManager.Instance.luckyBoxActBonusState.Clear(); } ActivityDataManager.Instance.actLuckyBoxId = response.ActivityId; ActivityDataManager.Instance.allPlayTimes = response.AllPlayTimes; ActivityDataManager.Instance.lastDrawCount = response.Count; for (int i = 0; i < response.KsBonusState.Count; i++) { ActivityDataManager.Instance.luckyBoxActBonusState[response.KsBonusState[i]] = response.VsBonusState[i]; } } else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy) { if (ActivityDataManager.Instance.actLimitTsyId != response.ActivityId) { ActivityDataManager.Instance.luckyActTsyBonusState.Clear(); } ActivityDataManager.Instance.actLimitTsyId = response.ActivityId; ActivityDataManager.Instance.allTsyPlayTimes = response.AllPlayTimes; ActivityDataManager.Instance.lastTsyDrawCount = response.Count; for (int i = 0; i < response.KsBonusState.Count; i++) { ActivityDataManager.Instance.luckyActTsyBonusState[response.KsBonusState[i]] = response.VsBonusState[i]; } } return true; } } return false; } /// /// 领取抽奖奖励 /// /// /// 奖励key,这里对应抽奖次数 /// public static async ETTask ReqGetTimeLimitLuckyBoxBonus(int activityId, int bonusKey) { S2C_GetTimeLimitLuckyBoxBonus response = null; response = (S2C_GetTimeLimitLuckyBoxBonus)await MessageHelper.SendToServer(new C2S_GetTimeLimitLuckyBoxBonus() { ActivityId = activityId, BonusKey = bonusKey }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(response.ActivityId); if (activityCfg.type == ConstLimitTimeActivityType.ActLimitLuckyBox) { if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId) { return false; } ActivityDataManager.Instance.luckyBoxActBonusState[response.BonusKey] = response.BonusStatus; } else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitTsy) { if (ActivityDataManager.Instance.actLimitTsyId != response.ActivityId) { return false; } ActivityDataManager.Instance.luckyActTsyBonusState[response.BonusKey] = response.BonusStatus; } int[][] bonus = ActivityLuckybonusCfgArray.Instance.GetCfgByidAndnum(response.ActivityId, response.BonusKey).bonusArr; BonusController.TryShowBonusList(bonus); EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); EventAgent.DispatchEvent(ConstMessage.LUCKY_BOX_ACTIVITY_REWARD); return true; } } return false; } /*************************************************************限时累充*****************************************************/ // /// // /// 领取累充奖励 // /// // /// // /// 奖励key,这里对应抽奖次数 // /// // public static async ETTask ReqGetLimitChargeBonus(int activityId, int bonusKey) // { // S2C_GetTimeLimitLuckyBoxBonus response = null; // response = (S2C_GetTimeLimitLuckyBoxBonus)await MessageHelper.SendToServer(new C2S_GetTimeLimitLuckyBoxBonus() { ActivityId = activityId, BonusKey = bonusKey }); // if (response != null) // { // if (response.Error == ErrorCode.ERR_Success) // { // if (ActivityDataManager.Instance.actLuckyBoxId != response.ActivityId) // { // return false; // } // ActivityDataManager.Instance.luckyBoxActBonusState[response.BonusKey] = response.BonusStatus; // int[][] bonus = ActivityLuckybonusCfgArray.Instance.GetCfgByidAndnum(response.ActivityId, response.BonusKey).bonusArr; // BonusController.TryShowBonusList(bonus); // return true; // } // } // return false; // } } }