using FairyGUI; using UI.Task; namespace GFGGame { public class TaskView : BaseWindow { private UI_TaskUI _ui; private ValueBarController _valueBarController; private CombTaskController _combTaskController; public override void Dispose() { if (_valueBarController != null) { _valueBarController.Dispose(); _valueBarController = null; } if(_combTaskController != null) { _combTaskController.Dispose(); _combTaskController = 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); _ui.m_btnAchieve.onClick.Add(OnBtnAchieveClick); _combTaskController = new CombTaskController(_ui.m_taskInfoCom); } private void OnBtnBackClick() { ViewManager.Hide(); //ViewManager.Hide(); ViewManager.GoBackFrom(typeof(TaskView).FullName); } private void OnBtnAchieveClick() { } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedPoint); _combTaskController.AddEventListener(); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedPoint); _combTaskController.RemoveEventListener(); } protected override void OnShown() { base.OnShown(); _valueBarController.OnShown(); int selectedIndex = 0; if (viewData != null) { var t = viewData as int[]; if(t != null && t.Length > 0) { selectedIndex = (int)t[0]; } } _ui.m_c1.selectedIndex = selectedIndex; _combTaskController.OnShown(_ui.m_c1.selectedIndex); UpdateRedPoint(); } protected override void OnHide() { base.OnHide(); _ui.m_c1.selectedIndex = 0; _valueBarController.OnHide(); UpdateRedPoint(); } private void OnCtrlChange() { _combTaskController.OnShown(_ui.m_c1.selectedIndex); } private void UpdateRedPoint() { bool showRedPoint = TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.Daily) || DailyTaskDataManager.Instance.GetHadGetRewardNum(TaskFuncType.Daily); RedDotController.Instance.SetComRedDot(_ui.m_btnTask, showRedPoint); showRedPoint = TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.Weekly) || DailyTaskDataManager.Instance.GetHadGetRewardNum(TaskFuncType.Weekly); RedDotController.Instance.SetComRedDot(_ui.m_btnWeekly, showRedPoint); } } }