Jelajahi Sumber

限时摘星奖励排序

zhaoyang 2 tahun lalu
induk
melakukan
df176a44f1

+ 19 - 0
GameClient/Assets/Game/HotUpdate/Data/ActivityDataManager.cs

@@ -58,8 +58,27 @@ namespace GFGGame
         /// <typeparam name="int">值由ConstBonusStatus定义</typeparam>
         /// <returns></returns>
         public Dictionary<int, int> luckyBoxActBonusState = new Dictionary<int, int>();
+        public List<ActivityLuckybonusCfg> SortActivityLuckybonusCfg(List<ActivityLuckybonusCfg> list)
+        {
+            list.Sort((ActivityLuckybonusCfg a, ActivityLuckybonusCfg b) =>
+            {
+
+                long allPlayTimes = ActivityDataManager.Instance.allPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
+                int stateA = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(a.num) ? 1 : -1;
+                int stateB = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(b.num) ? 1 : -1;
+
+                if (allPlayTimes >= a.num && allPlayTimes < b.num && stateA < 0) return -1;
+                if (allPlayTimes >= b.num && allPlayTimes < a.num && stateB < 0) return 1;
 
 
+                if (stateA >= 0 && stateB < 0) return 1;
+                if (stateB >= 0 && stateA < 0) return -1;
+
+                return a.num - b.num;
+            });
+            return list;
+        }
+
         /**********************************************************每日登录*************************************************/
         private int _sevenDayLoginLoginId = 1;
         /// <summary>

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxBonusView.cs

@@ -43,6 +43,7 @@ namespace GFGGame
         {
             base.OnShown();
             _bonueCfgs = ActivityLuckybonusCfgArray.Instance.GetCfgsByid(ActivityDataManager.Instance.actLuckyBoxId);
+            _bonueCfgs = ActivityDataManager.Instance.SortActivityLuckybonusCfg(_bonueCfgs);
             _ui.m_list.numItems = _bonueCfgs.Count;
         }
 
@@ -104,6 +105,7 @@ namespace GFGGame
             bool result = await ActivitySProxy.ReqGetTimeLimitLuckyBoxBonus(ActivityDataManager.Instance.actLuckyBoxId, key);
             if (result)
             {
+                _bonueCfgs = ActivityDataManager.Instance.SortActivityLuckybonusCfg(_bonueCfgs);
                 _ui.m_list.numItems = _bonueCfgs.Count;
             }
         }