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.allPlayTimes = message.AllPlayTimes; ActivityDataManager.Instance.lastDrawCount = message.Count; } else if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitTsy) { ActivityDataManager.Instance.allTsyPlayTimes = message.AllPlayTimes; ActivityDataManager.Instance.lastTsyDrawCount = message.Count; } else if (activityOpenCfg.type == ConstLimitTimeActivityType.ActLimitStlyc) { ActivityDataManager.Instance.allLimitStlycTimes = message.AllPlayTimes; ActivityDataManager.Instance.lastStlycDrawCount = 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); 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]; } } else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitStlyc) { if (ActivityDataManager.Instance.actLimitStlycId != response.ActivityId) { ActivityDataManager.Instance.limitStlycActBonusState.Clear(); } ActivityDataManager.Instance.actLimitStlycId = response.ActivityId; ActivityDataManager.Instance.allLimitStlycTimes = response.AllPlayTimes; ActivityDataManager.Instance.lastStlycDrawCount = response.Count; for (int i = 0; i < response.KsBonusState.Count; i++) { ActivityDataManager.Instance.limitStlycActBonusState[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; } else if (activityCfg.type == ConstLimitTimeActivityType.ActLimitStlyc) { if (ActivityDataManager.Instance.actLimitStlycId != response.ActivityId) { return false; } ActivityDataManager.Instance.limitStlycActBonusState[response.BonusKey] = response.BonusStatus; } // int[][] bonus = ActivityLuckybonusCfgArray.Instance.GetCfgByidAndnum(response.ActivityId, response.BonusKey).bonusArr; BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); 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; // } /*************************************************************活动弹窗*****************************************************/ public static async ETTask ReqActivityTips(int type , int val) { S2C_UpLimitNumericValue response = null; response = (S2C_UpLimitNumericValue)await MessageHelper.SendToServer(new C2S_UpLimitNumericValue() { NumericType = type,NumericVal = val }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { GameGlobal.myNumericComponent.Set(response.NumericType, response.NumericVal); return true; } } return false; } //招财进宝活动 public static async ETTask ReqActivityZCJBInfo(int id = 5006) { ActivityDataManager.Instance.activityZCJBId = ActivityOpenCfgArray.Instance.GetCfg(5006).paramsArr[0]; S2C_GetDressRewrdStatusList response = null; response = (S2C_GetDressRewrdStatusList)await MessageHelper.SendToServer(new C2S_GetDressRewrdStatusList() { ActivityId = id }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.ActivityZCJBList = response.RewrdIds; return true; } } return false; } public static async ETTask ReqActivityZCJBReward(int id,int rewardId) { S2C_GetDressRewrd response = null; response = (S2C_GetDressRewrd)await MessageHelper.SendToServer(new C2S_GetDressRewrd() { ActivityId = id ,RewrdId = rewardId}); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.ActivityZCJBList = response.RewrdIds; BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); return true; } } return false; } public static async ETTask SetOnceStatus(int k,long id,int type) { S2C_UpdateDataRecord response = (S2C_UpdateDataRecord)await MessageHelper.SendToServer(new C2S_UpdateDataRecord() { K = k, V = id ,ResetType = type }); } public static async ETTask GetOnceStatus(long k) { S2C_GetDataRecord response = (S2C_GetDataRecord)await MessageHelper.SendToServer(new C2S_GetDataRecord() { }); for (int i = 0; i < response.AllKs.Count; i++) { if (response.AllKs[i] == k) { if (response.AllVs[i] == 1) { GameGlobal.AutoZCJBTips = false; return true; } else { GameGlobal.AutoZCJBTips = true; return true; } } } GameGlobal.AutoZCJBTips = true; return true; } /**********************************************************新年签到*************************************************/ public static async ETTask ReqGetActivitySignInfos() { int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.ShenDuChenYou); if (activityId < 0 || ActivitySignCfgArray.Instance.GetCfgsByactivityId(activityId).Count <= 0 ) return false; S2C_GetActivitySignInfos response = null; response = (S2C_GetActivitySignInfos)await MessageHelper.SendToServer(new C2S_GetActivitySignInfos() { ActivityId = activityId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.NewYearLoginInfoDic.Clear(); for(int i = 0;i< response.ksDay.Count; i++) { ActivityDataManager.Instance.NewYearLoginInfoDic.Add(response.ksDay[i], response.vsStatus[i]); } return true; } } return false; } public static async ETTask ReqGetAcitivitySignBonus(int activityId,int day) { S2C_ReqGetAcitivitySignBonus response = null; response = (S2C_ReqGetAcitivitySignBonus)await MessageHelper.SendToServer(new C2S_ReqGetAcitivitySignBonus() { ActivityId = activityId, Day = day }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.NewYearLoginInfoDic[response.Day] = ConstBonusStatus.GOT; int[][] rewards = ActivitySignCfgArray.Instance.GetCfgByactivityIdAndday(activityId,response.Day).bonusArr; BonusController.TryShowBonusList(rewards); EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); return true; } } return false; } //**************************新人礼包领取 public static async ETTask ReqGetNewPlayerBonus() { S2C_GetNewcomerRewards response = null; response = (S2C_GetNewcomerRewards)await MessageHelper.SendToServer(new C2S_GetNewcomerRewards() { }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.IsGetNewPlayerReward = response.Status; BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); return true; } } return false; } //获取新人礼包状态 public static async ETTask ReqGetNewPlayerBonusStatus() { S2C_GetNewcomerRewardStatus response = null; response = (S2C_GetNewcomerRewardStatus)await MessageHelper.SendToServer(new C2S_GetNewcomerRewardStatus() { }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { ActivityDataManager.Instance.IsGetNewPlayerReward = response.Status; GameGlobal.AutoNewPlayersTips = response.OpenStatus; return true; } } return false; } public static async ETTask SetNewPlayerOnceStatus(long id) { S2C_UpdateDataRecord response = (S2C_UpdateDataRecord)await MessageHelper.SendToServer(new C2S_UpdateDataRecord (){ K = 100001, V = id }); } public static async ETTask GetNewPlayerOnceStatus() { S2C_GetDataRecord response = (S2C_GetDataRecord)await MessageHelper.SendToServer(new C2S_GetDataRecord() { }); for (int i = 0; i < response.AllKs.Count; i++) { if (response.AllKs[i] == 100001) { if(response.AllVs[i] == 0) { GameGlobal.NewPlayerOnceTips = false; return true; } else { GameGlobal.NewPlayerOnceTips = true; return true; } } } GameGlobal.NewPlayerOnceTips = true; return true; } //弹窗状态设置 public static async ETTask SetTipsStatus(long tips,long value,int type = 1) { S2C_UpdateDataRecord response = (S2C_UpdateDataRecord)await MessageHelper.SendToServer(new C2S_UpdateDataRecord() { K = tips,V = value, ResetType = type}); } public static async ETTask GetTipsStatus() { S2C_GetDataRecord response = (S2C_GetDataRecord)await MessageHelper.SendToServer(new C2S_GetDataRecord() { }); for (int i = 0; i < response.AllKs.Count; i++) { if(ActivityDataManager.Instance.TipsStatusDic.ContainsKey(response.AllKs[i])) { ActivityDataManager.Instance.TipsStatusDic[response.AllKs[i]] = response.AllVs[i]; } else { ActivityDataManager.Instance.TipsStatusDic.Add(response.AllKs[i], response.AllVs[i]); } // } } } //新人活动开启状态推送 public class NewPlayerOpenStatus : AMHandler { protected override async ETTask Run(Session session, S2C_PushNewcomerRewardStatus message) { ActivityDataManager.Instance.IsGetNewPlayerReward = message.Status; GameGlobal.AutoNewPlayersTips = message.OpenStatus; await ETTask.CompletedTask; } } }