using FairyGUI; using UI.Task; namespace GFGGame { public class TaskView : BaseWindow { private UI_TaskUI _ui; private CombTaskController _combTaskController; public override void Dispose() { 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; isReturnView = true; bringToFontOnClick = false; _ui.m_btnBack.onClick.Add(OnBtnBackClick); _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(); this.Hide(); //ViewManager.Hide(); //ViewManager.GoBackFrom(typeof(TaskView).FullName); } private void OnBtnAchieveClick() { ViewManager.Show(); } 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(); int selectedIndex = 0; if (viewData != null) { var t = viewData as object[]; 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; 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); RedDotController.Instance.SetComRedDot(_ui.m_btnAchieve, TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.Achievement)); } } }