Просмотр исходного кода

Merge branch 'master' of http://10.108.64.190:3000/gfg/client

zhaoyang 2 лет назад
Родитель
Сommit
9780f8cc9b

+ 9 - 2
FGUIProject/assets/Task/components/ExpProcess.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="346,22" extention="ProgressBar">
+  <controller name="c1" pages="0,未满,1,已满" selected="1"/>
   <displayList>
     <image id="n0_e3m1" name="n0" src="uxxstn2" fileName="images/jyt_dk.png" xy="0,0" size="346,22">
       <relation target="" sidePair="width-width,height-height"/>
@@ -8,8 +9,14 @@
     <image id="n3_e3m1" name="n3" src="uxxstm7" fileName="imagesNew/txz_lvl_db.png" pkg="eg2y0ldp" xy="-103,-54"/>
     <text id="n4_e3m1" name="n4" xy="-56,-27" size="40,31" font="ui://eg2y0ldpa0cftks" fontSize="20" color="#c48624" autoSize="none" text="LV."/>
     <text id="n5_e3m1" name="Level" xy="-80,-18" size="73,62" font="ui://eg2y0ldpa0cftks" fontSize="46" color="#c48624" align="center" autoSize="none" text="000"/>
-    <text id="n6_e3m1" name="NumProcess" xy="45,-47" size="76,44" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#7a4e22" align="center" letterSpacing="-1" vars="true" text="{value=0}/{maxValue=100}"/>
-    <image id="n7_e3m1" name="n7" src="a0cf2h" fileName="imagesNew/lm_tb.png" pkg="eg2y0ldp" xy="2,-40"/>
+    <text id="n6_e3m1" name="NumProcess" xy="45,-47" size="76,44" group="n8_cj0b" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#7a4e22" align="center" letterSpacing="-1" vars="true" text="{value=0}/{maxValue=100}"/>
+    <loader id="n7_e3m1" name="icon" xy="2,-40" size="33,31" group="n8_cj0b" url="ui://eg2y0ldpa0cf2h" align="center" vAlign="middle"/>
+    <group id="n8_cj0b" name="n8" xy="2,-47" size="119,44" advanced="true">
+      <gearDisplay controller="c1" pages="0"/>
+    </group>
+    <text id="n9_cj0b" name="n9" xy="20,-46" size="101,42" fontSize="30" color="#7a4e22" autoSize="none" text="已满级">
+      <gearDisplay controller="c1" pages="1"/>
+    </text>
   </displayList>
   <ProgressBar titleType="valueAndmax"/>
 </component>

+ 1 - 1
FGUIProject/assets/Task/components/TabButton.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="261,72" extention="Button">
-  <controller name="button" pages="0,up,1,down" selected="1"/>
+  <controller name="button" pages="0,up,1,down" selected="0"/>
   <displayList>
     <image id="n0_ids4" name="n0" src="uxxstmk" fileName="images/yeqian_xz.png" xy="0,0">
       <gearDisplay controller="button" pages="1"/>

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Data/BattlePassTaskDataManager.cs

@@ -68,7 +68,8 @@ namespace GFGGame
             var battlePassLevel = GetBattlePassLevel();
             if (level > battlePassLevel) return 0;
             if (!NormalRewards.Contains(level)) return 1;
-            return SuperRewards.Contains(level) ? 2 : 3;
+            if (!IsBuy) return 3;
+            return SuperRewards.Contains(level) ? 2 : 1;
         }
 
         //检查普通领取状态

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_ExpProcess.cs

@@ -7,8 +7,10 @@ namespace UI.Task
     public partial class UI_ExpProcess
     {
         public GProgressBar target;
+        public Controller m_c1;
         public GTextField m_Level;
         public GTextField m_NumProcess;
+        public GLoader m_icon;
         public const string URL = "ui://5mpsibzze3m1tnl";
         public const string PACKAGE_NAME = "Task";
         public const string RES_NAME = "ExpProcess";
@@ -56,13 +58,17 @@ namespace UI.Task
 
         private void Init(GComponent comp)
         {
+            m_c1 = comp.GetController("c1");
             m_Level = (GTextField)comp.GetChild("Level");
             m_NumProcess = (GTextField)comp.GetChild("NumProcess");
+            m_icon = (GLoader)comp.GetChild("icon");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_c1 = null;
             m_Level = null;
             m_NumProcess = null;
+            m_icon = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/BattlePassTaskSProxy.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections.Generic;
 using ET;
 using GFGGame;
@@ -102,7 +103,7 @@ namespace GFGGame
         }
 
         //C2S_GetAllBattlePassReward
-        public static async ETTask<bool> GetAllBattlePassReward()
+        public static async ETTask<bool> GetAllBattlePassReward(Action onSuccess = null)
         {
             var response =
                 (S2C_GetAllBattlePassReward)await MessageHelper.SendToServer(new C2S_GetAllBattlePassReward());
@@ -131,7 +132,7 @@ namespace GFGGame
                     dataManager.AddSuperReward(level);
                 }
             }
-            BonusController.TryShowBonusList(bonusList);
+            BonusController.TryShowBonusList(bonusList, onSuccess);
             return true;
         }
 

+ 68 - 31
GameClient/Assets/Game/HotUpdate/Views/Task/BattlePassTaskView.cs

@@ -38,6 +38,8 @@ namespace GFGGame
             _ui.m_SpecialReward.m_RewardList.itemRenderer = SpecialRewardRender;
             _ui.m_tip.onClick.Add(RuleController.ShowRuleView);
             _ui.m_tip.data = 300012;
+            _ui.m_LevelProcess.m_NumProcess.icon =
+                ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.BATTLE_PASS_CURRENCY).res);
         }
 
         protected override void OnHide()
@@ -103,25 +105,32 @@ namespace GFGGame
         }
 
         //继续领取
-        private async void OnBtnContinueClick(EventContext context)
+        private void OnBtnContinueClick(EventContext context)
         {
-            if (!(context.sender is GObject obj)) return;
-            var id = (int)obj.data;
-            var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
-            if (!isBuy)
-            {
-                ViewManager.Show<OpenBattlePassView>(null, new object[] { typeof(BattlePassTaskView).FullName, null });
-                return;
-            }
-            var get = await BattlePassTaskSProxy.GetBattlePassReward(id);
-            if (!get) return;
-            SetBattlePassLevel();
+            // if (!(context.sender is GObject obj)) return;
+            // var id = (int)obj.data;
+            // var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
+            // if (!isBuy)
+            // {
+            ViewManager.Show<OpenBattlePassView>(null, new object[] { typeof(BattlePassTaskView).FullName, null });
+            // return;
+            // }
+            // var get = await BattlePassTaskSProxy.GetBattlePassReward(id);
+            // if (!get) return;
+            // SetBattlePassLevel();
         }
 
         //领取全部奖励
         private async void OnBtnGetAllClick(EventContext context)
         {
-            var get = await BattlePassTaskSProxy.GetAllBattlePassReward();
+            var get = await BattlePassTaskSProxy.GetAllBattlePassReward(onSuccess: () =>
+            {
+                var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
+                if (isBuy) return;
+                ViewManager.Show<BuyBattlePassLevelView>(null,
+                    new object[] { typeof(BattlePassTaskView).FullName, null });
+            });
+            SetBattlePassLevel();
             if (!get) return;
             SetBattlePassLevel();
         }
@@ -140,6 +149,7 @@ namespace GFGGame
         {
             var item = UI_BattlePassRewardItem.Proxy(obj);
             var level = index + 1;
+
             //设置进度
             item.m_imageProgress.visible = BattlePassTaskDataManager.Instance.GetBattlePassLevel() >= level;
             //这里跳过为0的第一个配置
@@ -150,16 +160,25 @@ namespace GFGGame
             var bonusNormalArr = battlePassCfg.bonusNormalArr;
             if (bonusNormalArr != null && bonusNormalArr.Length > 0)
             {
+                item.m_NormalReward.visible = true;
                 var itemData = ItemUtil.createItemData(bonusNormalArr[0]);
-                item.m_NormalReward.data ??= new ItemView(item.m_NormalReward);
-                (item.m_NormalReward.data as ItemView)?.SetData(itemData);
-                (item.m_NormalReward.data as ItemView)?.ChangeTxtCountStyle();
+                var itemView = new ItemView(item.m_NormalReward);
+                item.m_NormalReward.data ??= itemView;
+                itemView.SetData(itemData);
+                itemView.ChangeTxtCountStyle();
+                itemView.GrpGotVisible = BattlePassTaskDataManager.Instance.CheckLevelRewardGet(level);
+            }
+            else
+            {
+                item.m_NormalReward.data = null;
+                item.m_NormalReward.visible = false;
             }
             if (item.m_RewardList.data == null)
             {
                 item.m_RewardList.itemRenderer = SpecialRewardRender;
             }
-            item.m_RewardList.data = battlePassCfg.bonusSpecialArr;
+            var superLevelRewardGet = BattlePassTaskDataManager.Instance.CheckSuperLevelRewardGet(level);
+            item.m_RewardList.data = (battlePassCfg.bonusSpecialArr, superLevelRewardGet);
             item.m_RewardList.numItems = battlePassCfg.bonusSpecialArr.Length;
             //获取玩家当前的通行证等级
             var state = BattlePassTaskDataManager.Instance.GetRewardState(level);
@@ -173,12 +192,14 @@ namespace GFGGame
         //SpecialRewardRender
         private static void SpecialRewardRender(int index, GObject obj)
         {
-            var parentData = (int[][])obj.parent.data;
-            var itemInfo = parentData[index];
+            var keyValuePair = ((int[][], bool))obj.parent.data;
+            var itemInfo = keyValuePair.Item1[index];
             var itemData = ItemUtil.createItemData(itemInfo);
-            obj.data ??= new ItemView(obj as GComponent);
-            (obj.data as ItemView)?.SetData(itemData);
-            (obj.data as ItemView)?.ChangeTxtCountStyle();
+            var itemView = new ItemView(obj as GComponent);
+            obj.data ??= itemView;
+            itemView.SetData(itemData);
+            itemView.ChangeTxtCountStyle();
+            itemView.GrpGotVisible = keyValuePair.Item2;
         }
 
         //根据状态设置按钮
@@ -235,14 +256,24 @@ namespace GFGGame
             //获取当前等级的经验
             var battlePassCfg =
                 BattlePassCfgArray.Instance.GetCfgByidAndlevel(seasonId, dataManager.GetBattlePassLevel());
-            uiExpProcess.target.max = battlePassCfg.value;
-            uiExpProcess.target.value = dataManager.GetBattlePassExp();
-            uiExpProcess.m_NumProcess.SetVar("value", dataManager.GetBattlePassExp().ToString())
-                .SetVar("maxValue", battlePassCfg.value.ToString()).FlushVars();
-            //刷新奖励列表
-            _rewardCfgs = new List<BattlePassCfg>(BattlePassCfgArray.Instance.GetCfgsByid(seasonId));
-            //去掉第一个为0的配置
-            _ui.m_RewardList.numItems = _rewardCfgs.Count - 1;
+            if (battlePassCfg == null)
+            {
+                //已经超过了最大等级
+                uiExpProcess.target.max = 100;
+                uiExpProcess.target.value = 0;
+                uiExpProcess.m_c1.selectedIndex = 1;
+            }
+            else
+            {
+                uiExpProcess.target.max = battlePassCfg.value;
+                uiExpProcess.target.value = dataManager.GetBattlePassExp();
+                uiExpProcess.m_NumProcess.SetVar("value", dataManager.GetBattlePassExp().ToString())
+                    .SetVar("maxValue", battlePassCfg.value.ToString()).FlushVars();
+                //刷新奖励列表
+                _rewardCfgs = new List<BattlePassCfg>(BattlePassCfgArray.Instance.GetCfgsByid(seasonId));
+                //去掉第一个为0的配置
+                _ui.m_RewardList.numItems = _rewardCfgs.Count - 1;
+            }
         }
 
         private void SetOpenBattlePassBtnStatus()
@@ -273,12 +304,18 @@ namespace GFGGame
             var bonusNormalArr = battlePassCfg.bonusNormalArr;
             if (bonusNormalArr != null && bonusNormalArr.Length > 0)
             {
+                uiBattlePassReward.m_NormalReward.visible = true;
                 var itemData = ItemUtil.createItemData(bonusNormalArr[0]);
                 var item = new ItemView(uiBattlePassReward.m_NormalReward);
                 item.SetData(itemData);
                 item.ChangeTxtCountStyle();
             }
-            uiBattlePassReward.m_RewardList.data = battlePassCfg.bonusSpecialArr;
+            else
+            {
+                uiBattlePassReward.m_NormalReward.visible = false;
+            }
+            var state = BattlePassTaskDataManager.Instance.CheckSuperLevelRewardGet(level);
+            uiBattlePassReward.m_RewardList.data = (battlePassCfg.bonusSpecialArr, state);
             uiBattlePassReward.m_RewardList.numItems = battlePassCfg.bonusSpecialArr.Length;
         }
     }

BIN
GameClient/Assets/ResIn/UI/Task/Task_fui.bytes