|
@@ -11,7 +11,7 @@ namespace GFGGame
|
|
|
private List<TaskCfg> _cfgs = new List<TaskCfg>();
|
|
|
private int funcType = TaskFuncType.Achievement;
|
|
|
private List<TaskCfg> _cfgsAll = new List<TaskCfg>();
|
|
|
-
|
|
|
+ public int taskSubType = 0;
|
|
|
public override void Dispose()
|
|
|
{
|
|
|
if (_ui != null)
|
|
@@ -39,22 +39,24 @@ namespace GFGGame
|
|
|
{
|
|
|
ViewManager.Hide<TaskAchieveDetailView>();
|
|
|
}
|
|
|
-
|
|
|
|
|
|
protected override void AddEventListener()
|
|
|
{
|
|
|
base.AddEventListener();
|
|
|
+ EventAgent.AddEventListener(ConstMessage.ACHIEVEMENT_TASK_PRO_CHANGED, UpdateProgressValue);
|
|
|
}
|
|
|
|
|
|
protected override void RemoveEventListener()
|
|
|
{
|
|
|
base.RemoveEventListener();
|
|
|
+ EventAgent.RemoveEventListener(ConstMessage.ACHIEVEMENT_TASK_PRO_CHANGED, UpdateProgressValue);
|
|
|
}
|
|
|
|
|
|
protected override void OnShown()
|
|
|
{
|
|
|
base.OnShown();
|
|
|
UpdateTask();
|
|
|
+ _ui.m_listAchieveTask.ScrollToView(0);
|
|
|
}
|
|
|
|
|
|
protected override void OnHide()
|
|
@@ -62,15 +64,29 @@ namespace GFGGame
|
|
|
base.OnHide();
|
|
|
}
|
|
|
|
|
|
+ private void UpdateProgressValue()
|
|
|
+ {
|
|
|
+ var taskTypeProList = TaskDataManager.Instance.GetAchievementTaskTypeProList();
|
|
|
+ foreach (var info in taskTypeProList)
|
|
|
+ {
|
|
|
+ if (info.AchievementType == taskSubType + 1)
|
|
|
+ {
|
|
|
+ _ui.m_txtProgress.text = (info.CompleteTaskNum*100 /info.AllTaskNum) + "%";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void UpdateTask()
|
|
|
{
|
|
|
- int taskSubType = (int)this.viewData;
|
|
|
+ taskSubType = (int)this.viewData;
|
|
|
_ui.m_AchieveType.selectedIndex = taskSubType;
|
|
|
- _cfgsAll = TaskDataManager.Instance.GetTaskCfgs(funcType);
|
|
|
+ UpdateProgressValue();
|
|
|
+ _cfgsAll = TaskDataManager.Instance.GetTaskAchieveCfgs(funcType);
|
|
|
_cfgs.Clear();
|
|
|
- foreach (var info in _cfgsAll) {
|
|
|
- if (info.achievementType == taskSubType+1)
|
|
|
- _cfgs.Add(info);
|
|
|
+ for (int i= 0; i< _cfgsAll.Count;i++) {
|
|
|
+ if (_cfgsAll[i].achievementType == taskSubType+1)
|
|
|
+ _cfgs.Add(_cfgsAll[i]);
|
|
|
}
|
|
|
_ui.m_listAchieveTask.numItems = _cfgs.Count;
|
|
|
}
|
|
@@ -81,9 +97,14 @@ namespace GFGGame
|
|
|
//Áìȡ״̬
|
|
|
item.m_c1.selectedIndex = TaskDataManager.Instance.GetTaskStateById(_cfgs[index].id);
|
|
|
item.m_c2.selectedIndex = _cfgs[index].jumpId == "" ? 1 : 0;
|
|
|
+ item.m_c3.selectedIndex = 2;
|
|
|
item.m_txtDesc.text = TaskDataManager.Instance.GetTaskDesc(_cfgs[index].id);
|
|
|
- item.m_txtCount.text =
|
|
|
- $"{TaskDataManager.Instance.GetTaskProgressById(_cfgs[index].id)}/{_cfgs[index].GetTargetCount()}";
|
|
|
+
|
|
|
+ item.m_taskBar.value = TaskDataManager.Instance.GetTaskProgressById(_cfgs[index].id);
|
|
|
+ item.m_taskBar.max = _cfgs[index].GetTargetCount();
|
|
|
+
|
|
|
+ //item.m_txtCount.text =
|
|
|
+ // $"{TaskDataManager.Instance.GetTaskProgressById(_cfgs[index].id)}/{_cfgs[index].GetTargetCount()}";
|
|
|
if (item.m_GetRewardBt.target.data == null)
|
|
|
{
|
|
|
item.m_GetRewardBt.target.onClick.Add(OnBtnGetClick);
|