|  | @@ -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});
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |