Browse Source

成就接入数据

huangxiaoyue 1 year ago
parent
commit
47d9336b5d

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_AchieveItem.cs

@@ -7,6 +7,7 @@ namespace UI.Task
     public partial class UI_AchieveItem
     {
         public GComponent target;
+        public Controller m_AchieveType;
         public GTextField m_txtName;
         public const string URL = "ui://5mpsibzzaignto5";
         public const string PACKAGE_NAME = "Task";
@@ -55,10 +56,12 @@ namespace UI.Task
 
         private void Init(GComponent comp)
         {
+            m_AchieveType = comp.GetController("AchieveType");
             m_txtName = (GTextField)comp.GetChild("txtName");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_AchieveType = null;
             m_txtName = null;
             if(disposeTarget && target != null)
             {

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_TaskAchieveDetailUI.cs

@@ -7,6 +7,7 @@ namespace UI.Task
     public partial class UI_TaskAchieveDetailUI
     {
         public GComponent target;
+        public Controller m_AchieveType;
         public GLoader m_loaBg;
         public GButton m_btnBack;
         public GList m_listAchieveTask;
@@ -57,12 +58,14 @@ namespace UI.Task
 
         private void Init(GComponent comp)
         {
+            m_AchieveType = comp.GetController("AchieveType");
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_listAchieveTask = (GList)comp.GetChild("listAchieveTask");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_AchieveType = null;
             m_loaBg = null;
             m_btnBack = null;
             m_listAchieveTask = null;

+ 42 - 14
GameClient/Assets/Game/HotUpdate/Views/Task/TaskAchieveDetailView.cs

@@ -8,8 +8,9 @@ namespace GFGGame
     public class TaskAchieveDetailView : BaseWindow
     {
         private UI_TaskAchieveDetailUI _ui;
-        private List<TaskCfg> _cfgs;
-        private int funcType = TaskFuncType.BattlePass;
+        private List<TaskCfg> _cfgs = new List<TaskCfg>();
+        private int funcType = TaskFuncType.Achievement;
+        private List<TaskCfg> _cfgsAll = new List<TaskCfg>();
 
         public override void Dispose()
         {
@@ -53,7 +54,6 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _cfgs = TaskDataManager.Instance.GetTaskCfgs(funcType);
             UpdateTask();
         }
 
@@ -62,9 +62,16 @@ namespace GFGGame
             base.OnHide();
         }
 
-        private void UpdateTask()
+        private void UpdateTask()   
         {
-            _cfgs = TaskDataManager.Instance.GetTaskCfgs(funcType);
+            int taskSubType = (int)this.viewData;
+            _ui.m_AchieveType.selectedIndex = taskSubType;
+            _cfgsAll = TaskDataManager.Instance.GetTaskCfgs(funcType);
+            _cfgs.Clear();
+            foreach (var info in _cfgsAll) {
+                if (info.achievementType == taskSubType+1)
+                    _cfgs.Add(info);
+            }
             _ui.m_listAchieveTask.numItems = _cfgs.Count;
         }
 
@@ -77,15 +84,15 @@ namespace GFGGame
             item.m_txtDesc.text = TaskDataManager.Instance.GetTaskDesc(_cfgs[index].id);
             item.m_txtCount.text =
                 $"{TaskDataManager.Instance.GetTaskProgressById(_cfgs[index].id)}/{_cfgs[index].GetTargetCount()}";
-            //if (item.m_GetRewardBt.data == null)
-            //{
-            //    item.m_GetRewardBt.target.onClick.Add(OnBtnGetClick);
-            //}
-            //item.m_GetRewardBt.data = _cfgs[index].id;
-            //if (item.m_ComeBt.data == null)
-            //{
-            //    item.m_ComeBt.target.onClick.Add(OnBtnGoClick);
-            //}
+            if (item.m_GetRewardBt.target.data == null)
+            {
+                item.m_GetRewardBt.target.onClick.Add(OnBtnGetClick);
+            }
+            item.m_GetRewardBt.target.data = _cfgs[index].id;
+            if (item.m_ComeBt.target.data == null)
+            {
+                item.m_ComeBt.target.onClick.Add(OnBtnGoClick);
+            }
             item.m_ComeBt.target.data = _cfgs[index];
             if (item.m_listTaskReward.data == null)
             {
@@ -111,5 +118,26 @@ namespace GFGGame
             item.ChangeTxtCountStyle();
             UI_RewardIconYellow.ProxyEnd();
         }
+        private async void OnBtnGetClick(EventContext context)
+        {
+            if (!(context.sender is GObject btnGet)) return;
+            var result = await TaskSProxy.GetTaskBonus((int)btnGet.data);
+            if (!result) return;
+            UpdateTask();
+            //LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.MEI_RI_REN_WU, 2);
+        }
+
+        private void OnBtnGoClick(EventContext context)
+        {
+            if (!(context.sender is GObject { data: TaskCfg taskCfg })) return;
+            //¹¦ÄÜ먦·Å
+            if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(taskCfg.jumpId)) return;
+            var param = new object[taskCfg.jumpParamArr.Length];
+            for (var i = 0; i < taskCfg.jumpParamArr.Length; i++)
+            {
+                param[i] = taskCfg.jumpParamArr[i];
+            }
+            ViewManager.JumpToView(taskCfg.jumpId, param, new object[] { typeof(TaskAchieveDetailView).FullName});
+        }
     }
 }

+ 18 - 4
GameClient/Assets/Game/HotUpdate/Views/Task/TaskAchieveView.cs

@@ -28,7 +28,7 @@ namespace GFGGame
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("chengjiu_bg");
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
             _ui.m_listAchieveItem.itemRenderer = RenderListAchieveItem;
-            _ui.m_listAchieveItem.onClickItem.Add(OnClickListRarityItem);
+            //_ui.m_listAchieveItem.onClickItem.Add(OnClickListRarityItem);
         }
 
         private void OnBtnBackClick()
@@ -38,7 +38,11 @@ namespace GFGGame
 
         private void OnClickListRarityItem(EventContext context)
         {
-            ViewManager.Show<TaskAchieveDetailView>();
+            int subIndex = (int)(context.sender as GObject).data;
+            if (subIndex > 3)
+                PromptController.Instance.ShowFloatTextPrompt("ÔÝδżŞĆô");
+            else
+                ViewManager.Show<TaskAchieveDetailView>(subIndex);
         }
 
         protected override void AddEventListener()
@@ -54,7 +58,7 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _ui.m_listAchieveItem.numItems = 5;
+            _ui.m_listAchieveItem.numItems = 6;
         }
 
         protected override void OnHide()
@@ -65,7 +69,17 @@ namespace GFGGame
         private void RenderListAchieveItem(int index, GObject obj)
         {
             UI_AchieveItem listItem = UI_AchieveItem.Proxy(obj);
-            listItem.m_txtName.text = "ČÎÎń";
+            if(index >= 4)
+                listItem.m_AchieveType.selectedIndex = 4;
+            else
+                listItem.m_AchieveType.selectedIndex = index;
+
+            if (listItem.target.data == null)
+            {
+                listItem.target.onClick.Add(OnClickListRarityItem);
+            }
+            listItem.target.data = index;
+
             UI_AchieveItem.ProxyEnd();
         }
     }

BIN
GameClient/Assets/ResIn/UI/Task/Task_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Task/Task_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Task/Task_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Task/Task_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Task/Task_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/Task/Task_atlas0_2.png


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