Browse Source

茶话会领取奖励修改

huangxiaoyue 1 năm trước cách đây
mục cha
commit
25b8c776e5

+ 14 - 5
GameClient/Assets/Game/HotUpdate/Data/LeagueDataManager.cs

@@ -306,9 +306,14 @@ namespace GFGGame
         {
             var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
             var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray;
-            for (int i = 0; i < teapartyRewardRoleCfg.Length; i++) {
-                if (teapartyRewardRoleCfg[i].targetScore == targetScore) {
-                    return roleTeapartyInfo.PerAwardStatusVs[i];
+            for (int i = 0; i < teapartyRewardRoleCfg.Length; i++)
+            {
+                if (teapartyRewardRoleCfg[i].targetScore == targetScore)
+                {
+                    if (roleTeapartyInfo.PerAwardStatusVs[i] == 0 && targetScore <= roleTeapartyInfo.PerScore)
+                        return 1;
+                    else
+                        return 0;
                 }
             }
             return 0;
@@ -325,12 +330,16 @@ namespace GFGGame
         public int CheckTeaPartyLeagueRewardStatu(int targetScore)
         {
             var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
-            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId); 
+            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
+
             for (int i = 0; i < teapartyRewardLeagueCfgs.Count; i++)
             {
                 if (teapartyRewardLeagueCfgs[i].targetScore == targetScore)
                 {
-                    return roleTeapartyInfo.LeagueAwardStatusVs[i];
+                    if (roleTeapartyInfo.LeagueAwardStatusVs[i] == 0 && targetScore <= roleTeapartyInfo.LeagueScore)
+                        return 1;
+                    else
+                        return 0;
                 }
             }
             return 0;

+ 16 - 20
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyRewardView.cs

@@ -91,7 +91,7 @@ namespace GFGGame
                 item.m_loaIcon.url = string.IsNullOrEmpty(itemCfg.res) ? "" : ResPathUtil.GetIconPath(itemCfg);
                 item.m_Num.text = cfgBonusArr[0][1].ToString();
                 item.m_c1.selectedIndex = cfg.id < maxCfgID ? 1 : 0;
-                item.target.data = cfgBonusArr;
+                item.target.data = cfg;
                 item.target.onClick.Add(OnClickReward);
             }
             FreshGetStatus();
@@ -102,13 +102,11 @@ namespace GFGGame
             componentsPerson.ForEach(com =>
             {
                 var item = UI_LinessRewardProcessItemBt.Proxy(com);
-                var cfg = (int[][])item.target.data;
-                var cfgID = cfg[0][0];
-                var itemCfg = ItemCfgArray.Instance.GetCfg(cfgID);
-                var state = LeagueDataManager.Instance.CheckTeaPartyPersonRewardStatu(cfgID);
+                TeapartyRewardRoleCfg cfg = (TeapartyRewardRoleCfg)item.target.data;
+                var state = LeagueDataManager.Instance.CheckTeaPartyPersonRewardStatu(cfg.targetScore);
                 item.m_c1.selectedIndex = state;
                 RedDotController.Instance.SetComRedDot(item.target,
-                    LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(cfgID), "", -90);
+                    LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(cfg.targetScore), "", -90);
                 UI_LinessRewardProcessItemBt.ProxyEnd();
             });
         }
@@ -116,14 +114,14 @@ namespace GFGGame
         private async void OnClickReward(EventContext context)
         {
             if (!(context.sender is GObject btnGet)) return;
-            int[][] stageReward = (int[][])btnGet.data;
-            int id = stageReward[0][0];
-            if (!LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(id))
+            TeapartyRewardRoleCfg cfg = (TeapartyRewardRoleCfg)btnGet.data;
+            int id = cfg.stageRewardArr[0][0];
+            if (!LeagueDataManager.Instance.CheckTeaPartyPersonRewardCanGet(cfg.targetScore))
             {
                 GoodsItemTipsController.ShowItemTips(id);
                 return;
             }
-            var result = await LeagueSproxy.GetPerRatingAward(id);
+            var result = await LeagueSproxy.GetPerRatingAward(cfg.targetScore);
             if (!result) return;
             FreshGetStatus();
         }
@@ -156,7 +154,7 @@ namespace GFGGame
                 item.m_loaIcon.url = string.IsNullOrEmpty(itemCfg.res) ? "" : ResPathUtil.GetIconPath(itemCfg);
                 item.m_Num.text = cfgBonusArr[0][1].ToString();
                 item.m_c1.selectedIndex = cfg.id == maxCfgID ? 1 : 0;
-                item.target.data = cfgBonusArr;
+                item.target.data = cfg;
                 item.target.onClick.Add(OnClickLeagueReward);
             }
             FreshGetLeagueStatus();
@@ -167,13 +165,11 @@ namespace GFGGame
             componentsLeague.ForEach(com =>
             {
                 var item = UI_LinessRewardProcessItemBt.Proxy(com);
-                var cfg = (int[][])item.target.data;
-                var cfgID = cfg[0][0];
-                var itemCfg = ItemCfgArray.Instance.GetCfg(cfgID);
-                var state = LeagueDataManager.Instance.CheckTeaPartyLeagueRewardStatu(cfgID);
+                TeapartyRewardLeagueCfg cfg = (TeapartyRewardLeagueCfg)item.target.data;
+                var state = LeagueDataManager.Instance.CheckTeaPartyLeagueRewardStatu(cfg.targetScore);
                 item.m_c1.selectedIndex = state;
                 RedDotController.Instance.SetComRedDot(item.target,
-                    LeagueDataManager.Instance.CheckTeaPartyLeagueRewardCanGet(cfgID), "", -90);
+                    LeagueDataManager.Instance.CheckTeaPartyLeagueRewardCanGet(cfg.targetScore), "", -90);
                 UI_LinessRewardProcessItemBt.ProxyEnd();
             });
         }
@@ -181,14 +177,14 @@ namespace GFGGame
         private async void OnClickLeagueReward(EventContext context)
         {
             if (!(context.sender is GObject btnGet)) return;
-            int[][] stageReward = (int[][])btnGet.data;
-            int id = stageReward[0][0];
-            if (!LeagueDataManager.Instance.CheckTeaPartyLeagueRewardCanGet(id))
+            TeapartyRewardLeagueCfg cfg = (TeapartyRewardLeagueCfg)btnGet.data;
+            int id = cfg.stageRewardArr[0][0];
+            if (!LeagueDataManager.Instance.CheckTeaPartyLeagueRewardCanGet(cfg.targetScore))
             {
                 GoodsItemTipsController.ShowItemTips(id);
                 return;
             }
-            var result = await LeagueSproxy.GetLeagueRatingAward(id);
+            var result = await LeagueSproxy.GetLeagueRatingAward(cfg.targetScore);
             if (!result) return;
             FreshGetLeagueStatus();
         }