|
@@ -0,0 +1,115 @@
|
|
|
+using FairyGUI;
|
|
|
+using System.Collections.Generic;
|
|
|
+using UI.CommonGame;
|
|
|
+using UI.Task;
|
|
|
+
|
|
|
+namespace GFGGame
|
|
|
+{
|
|
|
+ public class TaskAchieveDetailView : BaseWindow
|
|
|
+ {
|
|
|
+ private UI_TaskAchieveDetailUI _ui;
|
|
|
+ private List<TaskCfg> _cfgs;
|
|
|
+ private int funcType = TaskFuncType.BattlePass;
|
|
|
+
|
|
|
+ public override void Dispose()
|
|
|
+ {
|
|
|
+ if (_ui != null)
|
|
|
+ {
|
|
|
+ _ui.Dispose();
|
|
|
+ _ui = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ base.Dispose();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void OnInit()
|
|
|
+ {
|
|
|
+ base.OnInit();
|
|
|
+ packageName = UI_TaskAchieveDetailUI.PACKAGE_NAME;
|
|
|
+ _ui = UI_TaskAchieveDetailUI.Create();
|
|
|
+ viewCom = _ui.target;
|
|
|
+ isfullScreen = true;
|
|
|
+ _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("chengjiu_bg");
|
|
|
+ _ui.m_btnBack.onClick.Add(OnBtnBackClick);
|
|
|
+ _ui.m_listAchieveTask.itemRenderer = RenderListAchieveTask;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void OnBtnBackClick()
|
|
|
+ {
|
|
|
+ ViewManager.Hide<TaskAchieveDetailView>();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ protected override void AddEventListener()
|
|
|
+ {
|
|
|
+ base.AddEventListener();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void RemoveEventListener()
|
|
|
+ {
|
|
|
+ base.RemoveEventListener();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void OnShown()
|
|
|
+ {
|
|
|
+ base.OnShown();
|
|
|
+ _cfgs = TaskDataManager.Instance.GetTaskCfgs(funcType);
|
|
|
+ UpdateTask();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void OnHide()
|
|
|
+ {
|
|
|
+ base.OnHide();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void UpdateTask()
|
|
|
+ {
|
|
|
+ _cfgs = TaskDataManager.Instance.GetTaskCfgs(funcType);
|
|
|
+ _ui.m_listAchieveTask.numItems = _cfgs.Count;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void RenderListAchieveTask(int index, GObject obj)
|
|
|
+ {
|
|
|
+ var item = UI_TaskListItem.Proxy(obj);
|
|
|
+ //Áìȡ״̬
|
|
|
+ item.m_c1.selectedIndex = TaskDataManager.Instance.GetTaskStateById(_cfgs[index].id);
|
|
|
+ item.m_c2.selectedIndex = _cfgs[index].jumpId == "" ? 1 : 0;
|
|
|
+ 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);
|
|
|
+ //}
|
|
|
+ item.m_ComeBt.target.data = _cfgs[index];
|
|
|
+ if (item.m_listTaskReward.data == null)
|
|
|
+ {
|
|
|
+ item.m_listTaskReward.itemRenderer = ListTaskRewardItemRender;
|
|
|
+ }
|
|
|
+ var reward = TaskDataManager.Instance.GetReward(_cfgs[index]);
|
|
|
+ item.m_listTaskReward.data = reward;
|
|
|
+ item.m_listTaskReward.numItems = reward.Length;
|
|
|
+ var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
|
|
|
+ bool canGet = item.m_c1.selectedIndex == 1;
|
|
|
+ RedDotController.Instance.SetComRedDot(item.m_GetRewardBt.target, canGet);
|
|
|
+ RedDotController.Instance.SetComRedDot(item.m_GetRewardBt.target, canGet);
|
|
|
+ UI_TaskListItem.ProxyEnd();
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void ListTaskRewardItemRender(int index, GObject obj)
|
|
|
+ {
|
|
|
+ var rewards = (int[][])obj.parent.data;
|
|
|
+ var itemData = ItemUtil.createItemData(rewards[index]);
|
|
|
+ var item = new ItemView(obj as GComponent);
|
|
|
+ obj.data = item;
|
|
|
+ item.SetData(itemData);
|
|
|
+ item.ChangeTxtCountStyle();
|
|
|
+ UI_RewardIconYellow.ProxyEnd();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|