Browse Source

feat 活动添加进度值

Jae 2 years ago
parent
commit
79f010c23b

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -131,6 +131,7 @@ namespace GFGGame
         public const string ACTIVITY_ADD = "ACTIVITY_ADD";
         // ACTIVITY_REWARD_ADD
         public const string ACTIVITY_REWARD_ADD = "ACTIVITY_REWARD_ADD";
+        public static string ACTIVITY_COUNT_VALUE_CHANGE = "ACTIVITY_COUNT_VALUE_CHANGE";
         
         //通知开启通行证
         public const string NOTICE_PASSPORT_OPEN = "NOTICE_PASSPORT_OPEN";

+ 26 - 15
GameClient/Assets/Game/HotUpdate/Data/ActivityGlobalDataManager.cs

@@ -7,52 +7,55 @@ namespace GFGGame
 {
     public class ActivityInfo
     {
-        public int activityId;
+        public int ActivityId;
 
-        public long startTime;
+        public long StartTime;
 
-        public long endTime;
+        public long EndTime;
 
         //已经领取的奖励
         public List<int> GetRewards = new List<int>();
+
+        //计数值
+        public long CountValue;
     }
 
     public class ActivityGlobalDataManager : SingletonBase<ActivityGlobalDataManager>
     {
-        private Dictionary<int, ActivityInfo> activityInfos = new Dictionary<int, ActivityInfo>();
+        private readonly Dictionary<int, ActivityInfo> activityInfos = new Dictionary<int, ActivityInfo>();
 
-        private Dictionary<int, List<int>> activityInfosByType = new Dictionary<int, List<int>>();
+        private readonly Dictionary<int, List<int>> activityInfosByType = new Dictionary<int, List<int>>();
 
         public void Clear()
         {
             activityInfos.Clear();
             activityInfosByType.Clear();
         }
-        
+
         //添加活动数据
         public void AddActivityInfo(ActivityInfo activityInfo)
         {
             if (activityInfo == null) return;
-            if (activityInfos.ContainsKey(activityInfo.activityId)) return;
-            activityInfos.Add(activityInfo.activityId, activityInfo);
+            if (activityInfos.ContainsKey(activityInfo.ActivityId)) return;
+            activityInfos.Add(activityInfo.ActivityId, activityInfo);
 
-            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
+            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
             if (!activityInfosByType.ContainsKey(activityOpenCfg.type))
             {
                 activityInfosByType.Add(activityOpenCfg.type, new List<int>());
             }
-            activityInfosByType[activityOpenCfg.type].Add(activityInfo.activityId);
+            activityInfosByType[activityOpenCfg.type].Add(activityInfo.ActivityId);
             //ACTIVITY_ADD
-            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD, activityInfo.activityId);
-            var remainTime = activityInfo.endTime - TimeHelper.ServerNow();
+            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD, activityInfo.ActivityId);
+            var remainTime = activityInfo.EndTime - TimeHelper.ServerNow();
             if (remainTime > 0)
             {
-                Timers.inst.Add(activityInfo.endTime - TimeHelper.ServerNow(), 1, ClientRemoveActivityInfo,
-                    activityInfo.activityId);
+                Timers.inst.Add(activityInfo.EndTime - TimeHelper.ServerNow(), 1, ClientRemoveActivityInfo,
+                    activityInfo.ActivityId);
             }
             else
             {
-                ClientRemoveActivityInfo(activityInfo.activityId);
+                ClientRemoveActivityInfo(activityInfo.ActivityId);
             }
         }
 
@@ -102,5 +105,13 @@ namespace GFGGame
             activityInfo.GetRewards.Add(rewardId);
             EventAgent.DispatchEvent(ConstMessage.ACTIVITY_REWARD_ADD, activityId);
         }
+
+        public void SetActivityCountValue(int activityId, long countValue)
+        {
+            if (!activityInfos.ContainsKey(activityId)) return;
+            var activityInfo = activityInfos[activityId];
+            activityInfo.CountValue = countValue;
+            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_COUNT_VALUE_CHANGE, activityId);
+        }
     }
 }

+ 10 - 10
GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs

@@ -32,9 +32,9 @@ namespace GFGGame
             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
                          ActivityType.XSLB1))
             {
-                if (activityInfo.endTime >= TimeInfo.Instance.ServerNow())
+                if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
                     var paramsArr = activityOpenCfg.paramsArr;
                     Array.Sort(paramsArr);
                     foreach (var shopCfgId in paramsArr)
@@ -52,7 +52,7 @@ namespace GFGGame
                         if (ltgGbItemData != null)
                         {
                             var index = _ltgGbItemData3.IndexOf(ltgGbItemData);
-                            ltgGbItemData.EndTime = activityInfo.endTime;
+                            ltgGbItemData.EndTime = activityInfo.EndTime;
                             if (ltgGbItemData.ShopCfgIds != null)
                             {
                                 if (ltgGbItemData.ShopCfgIds.Count < 3)
@@ -73,7 +73,7 @@ namespace GFGGame
                             {
                                 IndexType = shopCfg.menu2,
                                 ShopCfgIds = new List<int> { shopCfgId },
-                                EndTime = activityInfo.endTime
+                                EndTime = activityInfo.EndTime
                             };
 
                             _ltgGbItemData3.Add(ltgGbItemData);
@@ -97,15 +97,15 @@ namespace GFGGame
             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
                          ActivityType.XSLB2))
             {
-                if (activityInfo.endTime >= TimeInfo.Instance.ServerNow())
+                if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
                     //判断是否是类型4的数据
                     if (activityOpenCfg.type == ActivityType.XSLB2)
                     {
                         foreach (var shopCfgId in activityOpenCfg.paramsArr)
                         {
-                            FillData(_ltgGbItemData4, shopCfgId, activityInfo.endTime);
+                            FillData(_ltgGbItemData4, shopCfgId, activityInfo.EndTime);
                         }
                     }
                 }
@@ -120,13 +120,13 @@ namespace GFGGame
             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
                          ActivityType.XSLB3))
             {
-                if (activityInfo.endTime >= TimeInfo.Instance.ServerNow())
+                if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
                     //判断是否是类型4的数据
                     if (activityOpenCfg.type == ActivityType.XSLB3)
                     {
-                        FillData(_ltgGbItemData5, activityOpenCfg.paramsArr[0], activityInfo.endTime);
+                        FillData(_ltgGbItemData5, activityOpenCfg.paramsArr[0], activityInfo.EndTime);
                     }
                 }
             }

+ 16 - 6
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityGlobalSProxy.cs

@@ -10,9 +10,9 @@ namespace ET
         {
             ActivityGlobalDataManager.Instance.AddActivityInfo(new ActivityInfo
             {
-                activityId = message.ActivityId,
-                startTime = message.StartTime,
-                endTime = message.EndTime
+                ActivityId = message.ActivityId,
+                StartTime = message.StartTime,
+                EndTime = message.EndTime
             });
             await ETTask.CompletedTask;
         }
@@ -27,6 +27,16 @@ namespace ET
             await ETTask.CompletedTask;
         }
     }
+    
+    //S2C_SyncActivityCountValue
+    public class S2C_SyncActivityCountValueHandler : AMHandler<S2C_SyncActivityCountValue>
+    {
+        protected override async ETTask Run(Session session, S2C_SyncActivityCountValue message)
+        {
+            ActivityGlobalDataManager.Instance.SetActivityCountValue(message.ActivityId, message.CountValue);
+            await ETTask.CompletedTask;
+        }
+    }
 }
 
 namespace GFGGame
@@ -48,9 +58,9 @@ namespace GFGGame
             {
                 ActivityGlobalDataManager.Instance.AddActivityInfo(new ActivityInfo
                 {
-                    activityId = activityInfo.ActivityId,
-                    startTime = activityInfo.StartTime,
-                    endTime = activityInfo.EndTime,
+                    ActivityId = activityInfo.ActivityId,
+                    StartTime = activityInfo.StartTime,
+                    EndTime = activityInfo.EndTime,
                     GetRewards = activityInfo.GetRewards
                 });
             });

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/DailyWelfareView.cs

@@ -97,7 +97,7 @@ namespace GFGGame
             {
                 ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(ActivityDataManager.Instance.actLimitChargeId);
                 long curTime = TimeHelper.ServerNow();
-                long endTime = activityInfo.endTime;
+                long endTime = activityInfo.EndTime;
                 if (curTime < endTime)
                 {
                     _ui.m_comList.m_btnLimitChargeAddUp.m_txtTime.text = string.Format("剩余时间:{0}", TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime));

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/LimitChargeView.cs

@@ -79,7 +79,7 @@ namespace GFGGame
         {
             ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(ActivityDataManager.Instance.actLimitChargeId);
             long curTime = TimeHelper.ServerNow();
-            long endTime = activityInfo.endTime;
+            long endTime = activityInfo.EndTime;
             _ui.m_txtTime.text = TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
         }
 

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxActivityView.cs

@@ -148,7 +148,7 @@ namespace GFGGame
                 ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
 
             var list = activityInfoByTypeList
-                .Where(a => a.endTime > TimeInfo.Instance.ServerNow()).ToList();
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
             {
                 _ui.m_comBagTime.target.visible = false;
@@ -156,7 +156,7 @@ namespace GFGGame
             }
             else
             {
-                _ui.m_comBagTime.m_txtGiftBagTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].endTime);
+                _ui.m_comBagTime.m_txtGiftBagTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
                 _ui.m_comBagTime.target.visible = true;
                 _ui.m_btnGiftBag.visible = true;
             }
@@ -225,7 +225,7 @@ namespace GFGGame
                 ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
 
             var list = activityInfoByTypeList
-                .Where(a => a.endTime > TimeInfo.Instance.ServerNow()).ToList();
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("活动已结束");

+ 6 - 6
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -683,7 +683,7 @@ namespace GFGGame
               ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
 
             var list = activityInfoByTypeList
-                .Where(a => a.endTime > TimeInfo.Instance.ServerNow()).ToList();
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("活动已结束");
@@ -701,7 +701,7 @@ namespace GFGGame
                 ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB2);
 
             var list = activityInfoByTypeList
-                .Where(a => a.endTime > TimeInfo.Instance.ServerNow()).ToList();
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("活动已结束");
@@ -718,14 +718,14 @@ namespace GFGGame
                 ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
 
             var list = activityInfoByTypeList
-                .Where(a => a.endTime > TimeInfo.Instance.ServerNow()).ToList();
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
             {
                 _ui.m_btnGiftBag1.target.visible = false;
             }
             else
             {
-                _ui.m_btnGiftBag1.m_txtTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].endTime);
+                _ui.m_btnGiftBag1.m_txtTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
                 _ui.m_btnGiftBag1.target.visible = true;
             }
         }
@@ -736,14 +736,14 @@ namespace GFGGame
                 ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB2);
 
             var list = activityInfoByTypeList
-                .Where(a => a.endTime > TimeInfo.Instance.ServerNow()).ToList();
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
             {
                 _ui.m_btnGiftBag2.target.visible = false;
             }
             else
             {
-                _ui.m_btnGiftBag2.m_txtTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].endTime);
+                _ui.m_btnGiftBag2.m_txtTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
                 _ui.m_btnGiftBag2.target.visible = true;
             }
         }