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