using FairyGUI; using UI.Task; namespace GFGGame { public class TaskView : BaseWindow { private UI_TaskUI _ui; private ValueBarController _valueBarController; public override void Dispose() { if (_valueBarController != null) { _valueBarController.Dispose(); _valueBarController = null; } if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_TaskUI.PACKAGE_NAME; _ui = UI_TaskUI.Create(); viewCom = _ui.target; isfullScreen = true; bringToFontOnClick = false; _ui.m_btnBack.onClick.Add(OnBtnBackClick); _valueBarController = new ValueBarController(_ui.m_comValueBar); _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("quanping_moren_bg"); _ui.m_c1.onChanged.Add(OnCtrlChange); } private void OnBtnBackClick() { ViewManager.Hide(); //ViewManager.Hide(); ViewManager.GoBackFrom(typeof(TaskView).FullName); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedPoint); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedPoint); } protected override void OnShown() { base.OnShown(); _valueBarController.OnShown(); _ui.m_c1.selectedIndex = viewData == null ? 1 : (int)(viewData as object[])?[0]!; UpdateRedPoint(); } protected override void OnHide() { base.OnHide(); _valueBarController.OnHide(); _ui.m_c1.selectedIndex = 0; UpdateRedPoint(); } private void OnCtrlChange() { switch (_ui.m_c1.selectedIndex) { case 1: ViewManager.Show(); //ViewManager.Hide(); break; //case 2: // ViewManager.Show(); // ViewManager.Hide(); // break; } viewData = null; } private void UpdateRedPoint() { bool showRedPoint = TaskDataManager.Instance.CheckTaskRewardCanGet(TaskType.Daily) || TaskDataManager.Instance.CheckTaskRewardCanGet(TaskType.BattlePass) || DailyTaskDataManager.Instance.GetHadGetRewardNum(); RedDotController.Instance.SetComRedDot(_ui.m_btnTask, showRedPoint); showRedPoint = BattlePassTaskDataManager.Instance.GetHadCanGetReward(); RedDotController.Instance.SetComRedDot(_ui.m_btnBattlePass, showRedPoint); } } }