/// <summary> /// 部件加载时 /// </summary> protected override void OnViewPartLoaded() { if (GetTransform().GetComponentInParent <Canvas>() != null) { m_Camera = GetTransform().GetComponentInParent <Canvas>().worldCamera; } else { Debug.Log(GetTransform()); } m_Scroller = FindComponent <UIScrollRect>("Content/Scroller"); m_ScrollerAnimator = FindComponent <Animator>("Content/Scroller"); m_ScrollerController = m_Scroller.gameObject.GetComponent <UIStickScrollController>(); m_ScrollerRectTransform = m_Scroller.GetComponent <RectTransform>(); if (m_ScrollerController == null) { m_ScrollerController = m_Scroller.gameObject.AddComponent <UIStickScrollController>(); } m_ScrollerController.SetFocused(OwnerView.Focused); LeftLabel = FindComponent <TMP_Text>("Content/Scroller/Label_Tltle1"); m_SortLabel = FindComponent <TMP_Text>("Content/Scroller/Label_Tltle2"); if (m_Scroller) { m_Scroller.DataSorter = this; m_Scroller.OnHeadRenderer = OnHeadRenderer; m_Scroller.OnCellRenderer = OnCellRenderer; m_Scroller.OnCellPlaceholderRenderer = OnCellPlaceholderRenderer; m_Scroller.OnNavigateCallback = OnCellNavigateCallback; m_Scroller.OnClickCallback = OnCellClickCallback; m_Scroller.OnDoubleClickCallback = OnItemDoubleClick; m_Scroller.OnOverCallback = OnCellOverCallback; m_Scroller.OnSelectionChanged = OnSelectionChanged; m_Scroller.SetTemplateFactory(null); State.OnPageIndexChanged -= OnPageChanged; State.OnPageIndexChanged += OnPageChanged; State.OnSortIndexChanged -= OnSortChanged; State.OnSortIndexChanged += OnSortChanged; State.OnCategoryIndexChanged -= OnFilterChanged; State.OnCategoryIndexChanged += OnFilterChanged; State.OnLayoutStyleChanged -= OnLayoutStyleChanged; State.OnLayoutStyleChanged += OnLayoutStyleChanged; State.OnCompareModeChanged -= OnCompareModeChanged; State.OnCompareModeChanged += OnCompareModeChanged; State.GetAction(UIAction.Common_Sort).Callback -= OnSortKeyPress; State.GetAction(UIAction.Common_Sort).Callback += OnSortKeyPress; InitializePage(); OnInputDeviceChanged(InputManager.Instance.CurrentInputDevice); } }
/// <summary> /// 部件卸载时 /// </summary> protected override void OnViewPartUnload() { State.OnPageIndexChanged -= OnPageChanged; State.OnSortIndexChanged -= OnSortChanged; State.OnCategoryIndexChanged -= OnFilterChanged; State.OnLayoutStyleChanged -= OnLayoutStyleChanged; State.OnCompareModeChanged -= OnCompareModeChanged; State.GetAction(UIAction.Common_Sort).Callback -= OnSortKeyPress; State.GetAction(UIAction.Common_Grid_List).Callback -= OnToggleGridLayout; OwnerView.DeleteHotKey("LayoutMode"); OwnerView.DeleteHotKey("CompareMode"); m_Camera = null; if (m_Scroller) { m_Scroller.vertical = true; m_Scroller.ClearData(); m_Scroller.DataSorter = null; m_Scroller.OnHeadRenderer = null; m_Scroller.OnCellRenderer = null; m_Scroller.OnCellPlaceholderRenderer = null; m_Scroller.OnNavigateCallback = null; m_Scroller.OnClickCallback = null; m_Scroller.OnDoubleClickCallback = null; m_Scroller.OnSelectionChanged -= null; m_Scroller.SetTemplateFactory(null); m_Scroller = null; } if (m_ScrollerController) { m_ScrollerController.SetFocused(false); m_ScrollerController = null; } m_ScrollerAnimator = null; m_ScrollerRectTransform = null; LeftLabel = null; m_SortLabel = null; }