guodong 2 years ago
parent
commit
e79151a54e

+ 23 - 1
GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs

@@ -19,7 +19,7 @@ namespace GFGEditor
         public static void startScan()
         public static void startScan()
         {
         {
             ItemCfg[] dataArray = ItemCfgArray.Instance.dataArray;
             ItemCfg[] dataArray = ItemCfgArray.Instance.dataArray;
-            GetApproachCall[] actions = new GetApproachCall[] { GetClothingShopApproach, GetLeaguePrayApproach, GetLeagueAnswerApproach, CheckStoreApproach, GetClothingSyntheticApproach, GetSuitGuideApproach, GetSuitSyntheticApproach, GetClothingDecomposeApproach, CheckClothingFosterApproach, CheckDailyTaskApproach, GetZhaiXingApproach, GetStoryLevelApproach };
+            GetApproachCall[] actions = new GetApproachCall[] { GetClothingShopApproach, GetLeaguePrayApproach, GetLeagueAnswerApproach, CheckStoreApproach, GetClothingSyntheticApproach, GetSuitGuideApproach, GetSuitSyntheticApproach, GetClothingDecomposeApproach, CheckClothingFosterApproach, CheckDailyTaskApproach, CheckWeeklyTaskApproach, GetZhaiXingApproach, GetStoryLevelApproach };
             Dictionary<SuitCfg, List<int>> suitDic = new Dictionary<SuitCfg, List<int>>();
             Dictionary<SuitCfg, List<int>> suitDic = new Dictionary<SuitCfg, List<int>>();
             Dictionary<ItemCfg, List<int>> syntheticSuitDic = new Dictionary<ItemCfg, List<int>>();
             Dictionary<ItemCfg, List<int>> syntheticSuitDic = new Dictionary<ItemCfg, List<int>>();
             int suitPartTotalCount = 0;
             int suitPartTotalCount = 0;
@@ -588,6 +588,28 @@ namespace GFGEditor
             return null;
             return null;
         }
         }
         /// <summary>
         /// <summary>
+        /// 检测每周任务是否产出该物品
+        /// </summary>
+        /// <param name="itemId"></param>
+        /// <returns></returns>
+        private static string CheckWeeklyTaskApproach(int itemId)
+        {
+            TaskActiveRewardCfgArray manager = TaskActiveRewardCfgArray.Instance;
+            List<TaskActiveRewardCfg> dataArray = manager.GetCfgsByfuncType(TaskFuncType.Weekly);
+            for (int i = 0; i < dataArray.Count; i++)
+            {
+                for (int j = 0; j < dataArray[i].rewardsArr.Length; j++)
+                {
+                    if (dataArray[i].rewardsArr[j][0] == itemId)
+                    {
+                        return ConstFunctionId.WEEKLY_TASK;
+                    }
+                }
+            }
+
+            return null;
+        }
+        /// <summary>
         /// 检测雅集福利是否产出该物品
         /// 检测雅集福利是否产出该物品
         /// </summary>
         /// </summary>
         /// <param name="itemId"></param>
         /// <param name="itemId"></param>

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstFunctionId.cs

@@ -62,6 +62,10 @@ namespace GFGGame
         /// </summary>
         /// </summary>
         public const string DAILY_TASK = "DAILY_TASK";
         public const string DAILY_TASK = "DAILY_TASK";
         /// <summary>
         /// <summary>
+        /// 每周任务
+        /// </summary>
+        public const string WEEKLY_TASK = "WEEKLY_TASK";
+        /// <summary>
         /// 雅集-祈福
         /// 雅集-祈福
         /// </summary>
         /// </summary>
         public const string LEAGUE_PRAY = "LEAGUE_PRAY";
         public const string LEAGUE_PRAY = "LEAGUE_PRAY";

+ 15 - 6
GameClient/Assets/Game/HotUpdate/Data/DailyTaskDataManager.cs

@@ -43,16 +43,16 @@ namespace GFGGame
                 return ConstBonusStatus.CAN_NOT_GET;
                 return ConstBonusStatus.CAN_NOT_GET;
             }
             }
             //判断是否满足领取条件
             //判断是否满足领取条件
-            return RoleDataManager.Liveness >= cfg.count ? ConstBonusStatus.CAN_GET : ConstBonusStatus.CAN_NOT_GET;
+            return RoleDataManager.DailyLiveness >= cfg.count ? ConstBonusStatus.CAN_GET : ConstBonusStatus.CAN_NOT_GET;
         }
         }
 
 
         /// <summary>
         /// <summary>
         /// 获取下一个奖励宝箱的活跃度
         /// 获取下一个奖励宝箱的活跃度
         /// </summary>
         /// </summary>
         /// <returns></returns>
         /// <returns></returns>
-        public int GetShowLivenessBoxNum()
+        public int GetShowLivenessBoxNum(int taskFuncType)
         {
         {
-            var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(TaskFuncType.Daily);
+            var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(taskFuncType);
             foreach (var t in cfgs)
             foreach (var t in cfgs)
             {
             {
                 if (!_livenessBoxInfos.ContainsKey(t.id) || _livenessBoxInfos[t.id] != ConstBonusStatus.GOT)
                 if (!_livenessBoxInfos.ContainsKey(t.id) || _livenessBoxInfos[t.id] != ConstBonusStatus.GOT)
@@ -65,10 +65,19 @@ namespace GFGGame
             return cfgs[index].count;
             return cfgs[index].count;
         }
         }
      
      
-        public bool GetHadGetRewardNum()
+        public bool GetHadGetRewardNum(int taskFuncType)
         {
         {
-            //TODO 可以缓存是否有领取的状态
-            return _livenessBoxInfos.Any(t => t.Value == ConstBonusStatus.CAN_GET);
+            foreach(var t in _livenessBoxInfos)
+            {
+                if(t.Value == ConstBonusStatus.CAN_GET)
+                {
+                    var cfg = TaskActiveRewardCfgArray.Instance.GetCfg(t.Key);
+                    if (cfg == null) continue;
+                    if (taskFuncType != 0 && cfg.funcType != taskFuncType) continue;
+                    return true;
+                }
+            }
+            return false;
         }
         }
     }
     }
 }
 }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -30,7 +30,7 @@ namespace GFGGame
         public bool GetTaskRed()
         public bool GetTaskRed()
         {
         {
             //判断活跃奖励是否有可以领取
             //判断活跃奖励是否有可以领取
-            var hadGetRewardNum = DailyTaskDataManager.Instance.GetHadGetRewardNum();
+            var hadGetRewardNum = DailyTaskDataManager.Instance.GetHadGetRewardNum(0);
             if (hadGetRewardNum)
             if (hadGetRewardNum)
             {
             {
                 return true;
                 return true;
@@ -39,7 +39,7 @@ namespace GFGGame
             {
             {
                 return true;
                 return true;
             }
             }
-            if (TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.BattlePass))
+            if (TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.Weekly))
             {
             {
                 return true;
                 return true;
             }
             }

+ 8 - 1
GameClient/Assets/Game/HotUpdate/Data/RoleDataManager.cs

@@ -107,13 +107,20 @@ namespace GFGGame
 
 
             }
             }
         }
         }
-        public static int Liveness
+        public static int DailyLiveness
         {
         {
             get
             get
             {
             {
                 return GameGlobal.myNumericComponent.GetAsInt(NumericType.DailyLiveness);
                 return GameGlobal.myNumericComponent.GetAsInt(NumericType.DailyLiveness);
             }
             }
         }
         }
+        public static int WeeklyLiveness
+        {
+            get
+            {
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.WeeklyLiveness);
+            }
+        }
         /// <summary>
         /// <summary>
         /// 今日竞技场可挑战次数
         /// 今日竞技场可挑战次数
         /// </summary>
         /// </summary>

+ 4 - 3
GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs

@@ -27,6 +27,7 @@ namespace GFGGame
                 : new Dictionary<int, TaskInfo>();
                 : new Dictionary<int, TaskInfo>();
         }
         }
 
 
+
         public void UpdateTaskInfo(int taskId, TaskInfo info)
         public void UpdateTaskInfo(int taskId, TaskInfo info)
         {
         {
             //获取任务配置
             //获取任务配置
@@ -185,12 +186,12 @@ namespace GFGGame
             }
             }
         }
         }
 
 
-        public bool CheckTaskRewardCanGet(int taskType)
+        public bool CheckTaskRewardCanGet(int taskFuncType)
         {
         {
-            var taskInfos = TaskDataManager.Instance.GetTaskInfos(taskType);
+            var taskInfos = TaskDataManager.Instance.GetTaskInfos(taskFuncType);
             if (taskInfos.Select(taskInfo => taskInfo.Value).Any(info => info.State == ConstBonusStatus.CAN_GET))
             if (taskInfos.Select(taskInfo => taskInfo.Value).Any(info => info.State == ConstBonusStatus.CAN_GET))
             {
             {
-                if (taskType == TaskFuncType.BattlePass && !BattlePassTaskDataManager.Instance.GetIsBuy())
+                if (taskFuncType == TaskFuncType.BattlePass && !BattlePassTaskDataManager.Instance.GetIsBuy())
                 {
                 {
                     return false;
                     return false;
                 }
                 }

+ 7 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Task/UI_TaskUI.cs

@@ -12,7 +12,8 @@ namespace UI.Task
         public GComponent m_comValueBar;
         public GComponent m_comValueBar;
         public GButton m_btnBack;
         public GButton m_btnBack;
         public GButton m_btnTask;
         public GButton m_btnTask;
-        public GButton m_btnBattlePass;
+        public GButton m_btnWeekly;
+        public UI_CombTaskUI m_taskInfoCom;
         public const string URL = "ui://5mpsibzzfqor2n";
         public const string URL = "ui://5mpsibzzfqor2n";
         public const string PACKAGE_NAME = "Task";
         public const string PACKAGE_NAME = "Task";
         public const string RES_NAME = "TaskUI";
         public const string RES_NAME = "TaskUI";
@@ -65,7 +66,8 @@ namespace UI.Task
             m_comValueBar = (GComponent)comp.GetChild("comValueBar");
             m_comValueBar = (GComponent)comp.GetChild("comValueBar");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_btnTask = (GButton)comp.GetChild("btnTask");
             m_btnTask = (GButton)comp.GetChild("btnTask");
-            m_btnBattlePass = (GButton)comp.GetChild("btnBattlePass");
+            m_btnWeekly = (GButton)comp.GetChild("btnWeekly");
+            m_taskInfoCom = (UI_CombTaskUI)UI_CombTaskUI.Create(comp.GetChild("taskInfoCom"));
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
@@ -74,7 +76,9 @@ namespace UI.Task
             m_comValueBar = null;
             m_comValueBar = null;
             m_btnBack = null;
             m_btnBack = null;
             m_btnTask = null;
             m_btnTask = null;
-            m_btnBattlePass = null;
+            m_btnWeekly = null;
+            m_taskInfoCom.Dispose();
+            m_taskInfoCom = null;
             if(disposeTarget && target != null)
             if(disposeTarget && target != null)
             {
             {
                 target.RemoveFromParent();
                 target.RemoveFromParent();

+ 1 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/CommonSProxy.cs

@@ -21,6 +21,7 @@ namespace ET
                     RoleDataManager.powerTimeServerLock = false;
                     RoleDataManager.powerTimeServerLock = false;
                     break;
                     break;
                 case NumericType.DailyLiveness:
                 case NumericType.DailyLiveness:
+                case NumericType.WeeklyLiveness:
                     EventAgent.DispatchEvent(ConstMessage.LIVENESS_CHANGE);
                     EventAgent.DispatchEvent(ConstMessage.LIVENESS_CHANGE);
                     break;
                     break;
                 case NumericType.PassLevel:
                 case NumericType.PassLevel:

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs

@@ -312,6 +312,9 @@ namespace GFGGame
                 case ConstFunctionId.DAILY_TASK:
                 case ConstFunctionId.DAILY_TASK:
                     isJump = ViewManager.Show<TaskView>(null, _fromeViewDatas);
                     isJump = ViewManager.Show<TaskView>(null, _fromeViewDatas);
                     break;
                     break;
+                case ConstFunctionId.WEEKLY_TASK:
+                    isJump = ViewManager.Show<TaskView>(new object[] { 1}, _fromeViewDatas);
+                    break;
                 case ConstFunctionId.LEAGUE_PRAY:
                 case ConstFunctionId.LEAGUE_PRAY:
                     isJump = ViewManager.Show<LeaguePrayView>(null, _fromeViewDatas);
                     isJump = ViewManager.Show<LeaguePrayView>(null, _fromeViewDatas);
                     break;
                     break;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -100,7 +100,7 @@ namespace GFGGame
         {
         {
             ViewManager.Hide(_curViewName);
             ViewManager.Hide(_curViewName);
             this.Hide();
             this.Hide();
-            // ViewManager.GoBackFrom(typeof(StoreView).FullName);
+             ViewManager.GoBackFrom(typeof(StoreView).FullName);
         }
         }
 
 
         private void OnTabChange()
         private void OnTabChange()

+ 46 - 63
GameClient/Assets/Game/HotUpdate/Views/Task/CombTaskView.cs → GameClient/Assets/Game/HotUpdate/Views/Task/CombTaskController.cs

@@ -4,65 +4,65 @@ using ET;
 using FairyGUI;
 using FairyGUI;
 using UI.CommonGame;
 using UI.CommonGame;
 using UI.Task;
 using UI.Task;
+using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
-    public class CombTaskView : BaseWindow
+    public class CombTaskController
     {
     {
         private UI_CombTaskUI _ui;
         private UI_CombTaskUI _ui;
         private List<TaskCfg> _cfgs;
         private List<TaskCfg> _cfgs;
-        private int funcType = TaskFuncType.Daily;
+        private int funcType;
 
 
-        public override void Dispose()
+        public void Dispose()
         {
         {
             if (_ui != null)
             if (_ui != null)
             {
             {
                 _ui.Dispose();
                 _ui.Dispose();
                 _ui = null;
                 _ui = null;
             }
             }
-            base.Dispose();
         }
         }
 
 
-        protected override void OnInit()
+        public CombTaskController(UI_CombTaskUI ui)
         {
         {
-            base.OnInit();
-            packageName = UI_CombTaskUI.PACKAGE_NAME;
-            _ui = UI_CombTaskUI.Create();
-            viewCom = _ui.target;
-            isfullScreen = true;
-            clickBlankToClose = false;
+            _ui = ui;
             _ui.m_c1.onChanged.Add(OnCtrlChange);
             _ui.m_c1.onChanged.Add(OnCtrlChange);
             _ui.m_TaskList.itemRenderer = TaskItemRender;
             _ui.m_TaskList.itemRenderer = TaskItemRender;
-            _ui.m_LivenessProcess.m_Reward20.target.onClick.Add(() => { OnClickReward(1).Coroutine(); });
-            _ui.m_LivenessProcess.m_Reward40.target.onClick.Add(() => { OnClickReward(2).Coroutine(); });
-            _ui.m_LivenessProcess.m_Reward60.target.onClick.Add(() => { OnClickReward(3).Coroutine(); });
-            _ui.m_LivenessProcess.m_Reward80.target.onClick.Add(() => { OnClickReward(4).Coroutine(); });
-            _ui.m_LivenessProcess.m_Reward100.target.onClick.Add(() => { OnClickReward(5).Coroutine(); });
+            _ui.m_LivenessProcess.m_Reward20.target.onClick.Add(OnClickReward);
+            _ui.m_LivenessProcess.m_Reward40.target.onClick.Add(OnClickReward);
+            _ui.m_LivenessProcess.m_Reward60.target.onClick.Add(OnClickReward);
+            _ui.m_LivenessProcess.m_Reward80.target.onClick.Add(OnClickReward);
+            _ui.m_LivenessProcess.m_Reward100.target.onClick.Add(OnClickReward);
             _ui.m_GetAll.onClick.Add(OnBtnGetAllClick);
             _ui.m_GetAll.onClick.Add(OnBtnGetAllClick);
         }
         }
 
 
-        protected override void OnShown()
-        {
-            base.OnShown();
+        public void OnShown(int taskViewTabIndex)
+{
+            _ui.m_c1.selectedIndex = taskViewTabIndex;
+            OnCtrlChange();
             UpdateLivenessProcess();
             UpdateLivenessProcess();
             UpdateTask();
             UpdateTask();
             if (_ui.m_TaskList.numItems > 0)
             if (_ui.m_TaskList.numItems > 0)
             {
             {
                 _ui.m_TaskList.ScrollToView(0);
                 _ui.m_TaskList.ScrollToView(0);
             }
             }
+            AddEventListener();
+        }
+
+        public void OnHide()
+        {
+            RemoveEventListener();
         }
         }
 
 
-        protected override void AddEventListener()
+        private void AddEventListener()
         {
         {
-            base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
             EventAgent.AddEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
             // EventAgent.AddEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             // EventAgent.AddEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             EventAgent.AddEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTaskChanges);
             EventAgent.AddEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTaskChanges);
         }
         }
 
 
-        protected override void RemoveEventListener()
+        private void RemoveEventListener()
         {
         {
-            base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
             EventAgent.RemoveEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
             // EventAgent.RemoveEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             // EventAgent.RemoveEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             //NOTICE_BATCH_TASK_STATE_CHANGE
             //NOTICE_BATCH_TASK_STATE_CHANGE
@@ -99,8 +99,8 @@ namespace GFGGame
                     //每日任务
                     //每日任务
                     TaskFuncType.Daily,
                     TaskFuncType.Daily,
                 1 =>
                 1 =>
-                    //织造任务
-                    TaskFuncType.BattlePass,
+                    //每周任务
+                    TaskFuncType.Weekly,
                 _ => funcType
                 _ => funcType
             };
             };
             //更新任务列表
             //更新任务列表
@@ -110,36 +110,41 @@ namespace GFGGame
         //更新活跃度进度条
         //更新活跃度进度条
         private void UpdateLivenessProcess()
         private void UpdateLivenessProcess()
         {
         {
-            var liveness = RoleDataManager.Liveness;
-            DailyTaskDataManager.Instance.GetShowLivenessBoxNum();
+            var liveness = funcType switch{
+                TaskFuncType.Daily => RoleDataManager.DailyLiveness,
+                TaskFuncType.Weekly => RoleDataManager.WeeklyLiveness,
+                _ => 0
+            };
+            DailyTaskDataManager.Instance.GetShowLivenessBoxNum(funcType);
             _ui.m_LivenessProcess.target.max = 100;
             _ui.m_LivenessProcess.target.max = 100;
             _ui.m_LivenessProcess.target.value = liveness;
             _ui.m_LivenessProcess.target.value = liveness;
-            var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(TaskFuncType.Daily);
+            var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(funcType);
             for (var i = 0; i < cfgs.Count; i++)
             for (var i = 0; i < cfgs.Count; i++)
             {
             {
-                var boxId = i + 1;
+                var boxId = cfgs[i].id;
                 var state = DailyTaskDataManager.Instance.GetBoxStateById(boxId);
                 var state = DailyTaskDataManager.Instance.GetBoxStateById(boxId);
                 UI_LinessRewardProcessItemBt rewardBox = null;
                 UI_LinessRewardProcessItemBt rewardBox = null;
-                switch (boxId)
+                switch (i)
                 {
                 {
-                    case 1:
+                    case 0:
                         rewardBox = _ui.m_LivenessProcess.m_Reward20;
                         rewardBox = _ui.m_LivenessProcess.m_Reward20;
                         break;
                         break;
-                    case 2:
+                    case 1:
                         rewardBox = _ui.m_LivenessProcess.m_Reward40;
                         rewardBox = _ui.m_LivenessProcess.m_Reward40;
                         break;
                         break;
-                    case 3:
+                    case 2:
                         rewardBox = _ui.m_LivenessProcess.m_Reward60;
                         rewardBox = _ui.m_LivenessProcess.m_Reward60;
                         break;
                         break;
-                    case 4:
+                    case 3:
                         rewardBox = _ui.m_LivenessProcess.m_Reward80;
                         rewardBox = _ui.m_LivenessProcess.m_Reward80;
                         break;
                         break;
-                    case 5:
+                    case 4:
                         rewardBox = _ui.m_LivenessProcess.m_Reward100;
                         rewardBox = _ui.m_LivenessProcess.m_Reward100;
                         break;
                         break;
                 }
                 }
                 if (rewardBox != null)
                 if (rewardBox != null)
                 {
                 {
+                    rewardBox.target.data = boxId;
                     rewardBox.m_c1.selectedIndex = state;
                     rewardBox.m_c1.selectedIndex = state;
                     RedDotController.Instance.SetComRedDot(rewardBox.target, state == 1);
                     RedDotController.Instance.SetComRedDot(rewardBox.target, state == 1);
                 }
                 }
@@ -184,7 +189,7 @@ namespace GFGGame
             item.m_listTaskReward.data = reward;
             item.m_listTaskReward.data = reward;
             item.m_listTaskReward.numItems = reward.Length;
             item.m_listTaskReward.numItems = reward.Length;
             var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
             var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
-            bool canGet = item.m_c1.selectedIndex == 1 && (funcType != TaskFuncType.BattlePass || funcType == TaskFuncType.BattlePass && isBuy);
+            bool canGet = item.m_c1.selectedIndex == 1;
             RedDotController.Instance.SetComRedDot(item.m_GetRewardBt, canGet);
             RedDotController.Instance.SetComRedDot(item.m_GetRewardBt, canGet);
             UI_TaskListItem.ProxyEnd();
             UI_TaskListItem.ProxyEnd();
         }
         }
@@ -204,16 +209,6 @@ namespace GFGGame
         private async void OnBtnGetClick(EventContext context)
         private async void OnBtnGetClick(EventContext context)
         {
         {
             if (!(context.sender is GObject btnGet)) return;
             if (!(context.sender is GObject btnGet)) return;
-            if (funcType == TaskFuncType.BattlePass)
-            {
-                //检查通行证是否开启
-                var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
-                if (!isBuy)
-                {
-                    PromptController.Instance.ShowFloatTextPrompt("开启锦罗织造可领取");
-                    return;
-                }
-            }
             var result = await TaskSProxy.GetTaskBonus((int)btnGet.data);
             var result = await TaskSProxy.GetTaskBonus((int)btnGet.data);
             if (!result) return;
             if (!result) return;
             UpdateLivenessProcess();
             UpdateLivenessProcess();
@@ -226,28 +221,16 @@ namespace GFGGame
             if (!(context.sender is GObject { data: TaskCfg taskCfg })) return;
             if (!(context.sender is GObject { data: TaskCfg taskCfg })) return;
             //功能未开放
             //功能未开放
             if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(taskCfg.jumpId)) return;
             if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(taskCfg.jumpId)) return;
-            Hide();
             var param = new object[taskCfg.jumpParamArr.Length];
             var param = new object[taskCfg.jumpParamArr.Length];
             for (var i = 0; i < taskCfg.jumpParamArr.Length; i++)
             for (var i = 0; i < taskCfg.jumpParamArr.Length; i++)
             {
             {
                 param[i] = taskCfg.jumpParamArr[i];
                 param[i] = taskCfg.jumpParamArr[i];
             }
             }
-            ViewManager.JumpToView(taskCfg.jumpId, param, new[] { typeof(TaskView).FullName, viewData });
+            ViewManager.JumpToView(taskCfg.jumpId, param, new object[] { typeof(TaskView).FullName, new[] { _ui.m_c1.selectedIndex } });
         }
         }
 
 
         private async void OnBtnGetAllClick()
         private async void OnBtnGetAllClick()
         {
         {
-            //通用任务一键领奖
-            if (funcType == TaskFuncType.BattlePass)
-            {
-                //检查通行证是否开启
-                var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
-                if (!isBuy)
-                {
-                    PromptController.Instance.ShowFloatTextPrompt("开启锦罗织造可领取");
-                    return;
-                }
-            }
             var result = await TaskSProxy.GetAllTaskBonus(funcType);
             var result = await TaskSProxy.GetAllTaskBonus(funcType);
             if (!result) return;
             if (!result) return;
             UpdateLivenessProcess();
             UpdateLivenessProcess();
@@ -256,8 +239,9 @@ namespace GFGGame
         }
         }
 
 
 
 
-        private async ETTask OnClickReward(int id)
+        private void OnClickReward(EventContext context)
         {
         {
+            int id = (int)((GObject)context.sender).data;
             var cfg = TaskActiveRewardCfgArray.Instance.GetCfg(id);
             var cfg = TaskActiveRewardCfgArray.Instance.GetCfg(id);
             var state = DailyTaskDataManager.Instance.GetBoxStateById(cfg.id);
             var state = DailyTaskDataManager.Instance.GetBoxStateById(cfg.id);
             switch (state)
             switch (state)
@@ -270,12 +254,11 @@ namespace GFGGame
                     }
                     }
                 case ConstBonusStatus.CAN_GET:
                 case ConstBonusStatus.CAN_GET:
                     {
                     {
-                        var result = await DailyTaskSProxy.ReqLivenessBox(cfg.id);
-                        if (result) UpdateLivenessProcess();
+                        DailyTaskSProxy.ReqLivenessBox(cfg.id).Coroutine();
                         break;
                         break;
                     }
                     }
                 case ConstBonusStatus.GOT:
                 case ConstBonusStatus.GOT:
-                    //领取完毕
+                    PromptController.Instance.ShowFloatTextPrompt("不能重复领取!");
                     break;
                     break;
             }
             }
         }
         }

+ 0 - 0
GameClient/Assets/Game/HotUpdate/Views/Task/CombTaskView.cs.meta → GameClient/Assets/Game/HotUpdate/Views/Task/CombTaskController.cs.meta


+ 25 - 20
GameClient/Assets/Game/HotUpdate/Views/Task/TaskView.cs

@@ -7,6 +7,7 @@ namespace GFGGame
     {
     {
         private UI_TaskUI _ui;
         private UI_TaskUI _ui;
         private ValueBarController _valueBarController;
         private ValueBarController _valueBarController;
+        private CombTaskController _combTaskController;
 
 
         public override void Dispose()
         public override void Dispose()
         {
         {
@@ -15,7 +16,11 @@ namespace GFGGame
                 _valueBarController.Dispose();
                 _valueBarController.Dispose();
                 _valueBarController = null;
                 _valueBarController = null;
             }
             }
-
+            if(_combTaskController != null)
+            {
+                _combTaskController.Dispose();
+                _combTaskController = null;
+            }
             if (_ui != null)
             if (_ui != null)
             {
             {
                 _ui.Dispose();
                 _ui.Dispose();
@@ -37,11 +42,12 @@ namespace GFGGame
             _valueBarController = new ValueBarController(_ui.m_comValueBar);
             _valueBarController = new ValueBarController(_ui.m_comValueBar);
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("quanping_moren_bg");
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("quanping_moren_bg");
             _ui.m_c1.onChanged.Add(OnCtrlChange);
             _ui.m_c1.onChanged.Add(OnCtrlChange);
+            _combTaskController = new CombTaskController(_ui.m_taskInfoCom);
         }
         }
 
 
         private void OnBtnBackClick()
         private void OnBtnBackClick()
         {
         {
-            ViewManager.Hide<CombTaskView>();
+            ViewManager.Hide<CombTaskController>();
             //ViewManager.Hide<BattlePassTaskView>();
             //ViewManager.Hide<BattlePassTaskView>();
             ViewManager.GoBackFrom(typeof(TaskView).FullName);
             ViewManager.GoBackFrom(typeof(TaskView).FullName);
         }
         }
@@ -62,7 +68,17 @@ namespace GFGGame
         {
         {
             base.OnShown();
             base.OnShown();
             _valueBarController.OnShown();
             _valueBarController.OnShown();
-            _ui.m_c1.selectedIndex = viewData == null ? 1 : (int)(viewData as object[])?[0]!;
+            int selectedIndex = 0;
+            if (viewData != null)
+            {
+                var t = viewData as int[];
+                if(t != null && t.Length > 0)
+                {
+                    selectedIndex = (int)t[0];
+                }
+            }
+            _ui.m_c1.selectedIndex = selectedIndex;
+            _combTaskController.OnShown(_ui.m_c1.selectedIndex);
             UpdateRedPoint();
             UpdateRedPoint();
         }
         }
 
 
@@ -70,35 +86,24 @@ namespace GFGGame
         {
         {
             base.OnHide();
             base.OnHide();
             _valueBarController.OnHide();
             _valueBarController.OnHide();
+            _combTaskController.OnHide();
             _ui.m_c1.selectedIndex = 0;
             _ui.m_c1.selectedIndex = 0;
             UpdateRedPoint();
             UpdateRedPoint();
         }
         }
 
 
         private void OnCtrlChange()
         private void OnCtrlChange()
         {
         {
-            switch (_ui.m_c1.selectedIndex)
-            {
-                case 1:
-                    ViewManager.Show<CombTaskView>();
-                    //ViewManager.Hide<BattlePassTaskView>();
-                    break;
-                //case 2:
-                //    ViewManager.Show<BattlePassTaskView>();
-                //    ViewManager.Hide<CombTaskView>();
-                //    break;
-            }
-
-            viewData = null;
+            _combTaskController.OnShown(_ui.m_c1.selectedIndex);
         }
         }
 
 
         private void UpdateRedPoint()
         private void UpdateRedPoint()
         {
         {
             bool showRedPoint = TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.Daily)
             bool showRedPoint = TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.Daily)
-                || TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.BattlePass)
-                || DailyTaskDataManager.Instance.GetHadGetRewardNum();
+                || DailyTaskDataManager.Instance.GetHadGetRewardNum(TaskFuncType.Daily);
             RedDotController.Instance.SetComRedDot(_ui.m_btnTask, showRedPoint);
             RedDotController.Instance.SetComRedDot(_ui.m_btnTask, showRedPoint);
-            showRedPoint = BattlePassTaskDataManager.Instance.GetHadCanGetReward();
-            RedDotController.Instance.SetComRedDot(_ui.m_btnBattlePass, showRedPoint);
+            showRedPoint = TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.Weekly)
+                || DailyTaskDataManager.Instance.GetHadGetRewardNum(TaskFuncType.Weekly);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnWeekly, showRedPoint);
         }
         }
 
 
     }
     }

+ 1 - 2
GameClient/Assets/Game/HotUpdate/Views/ViewManager.cs

@@ -453,8 +453,7 @@ namespace GFGGame
                     }
                     }
                     break;
                     break;
                 case nameof(StoreView):
                 case nameof(StoreView):
-                    ViewManager.Show(goBackDatas[0].ToString(), goBackDatas.Length > 1 ? goBackDatas[1] : null);
-                    ViewManager.Show<StoreView>(param, goBackDatas);
+                    ViewManager.Show<StoreView>(param, goBackDatas, hideOther);
                     break;
                     break;
                 case nameof(StoryChapterListView):
                 case nameof(StoryChapterListView):
                     ViewManager.Show($"GFGGame.{jumpId}", param, goBackDatas, hideOther, true);
                     ViewManager.Show($"GFGGame.{jumpId}", param, goBackDatas, hideOther, true);

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