| 
// using System; 
 | 
// using System.Collections; 
 | 
// using System.Collections.Generic; 
 | 
// using UnityEngine; 
 | 
// using UnityEngine.UI; 
 | 
  
 | 
//     public class SortTable : MonoBehaviour 
 | 
//     { 
 | 
//         [SerializeField] SortType m_SortType; 
 | 
//         public SortType sortType 
 | 
//         { 
 | 
//             get 
 | 
//             { 
 | 
//                 return m_SortType; 
 | 
//             } 
 | 
//             set 
 | 
//             { 
 | 
//                 m_SortType = value; 
 | 
//             } 
 | 
//         } 
 | 
//         [SerializeField] List<SortElement> m_SortElements; 
 | 
//         [SerializeField] ScrollerController m_Controller; 
 | 
//         [SerializeField] ClickScreenOtherSpace m_ClickOtherSpace; 
 | 
//         [SerializeField] Text m_TargetDisplay; 
 | 
//         public event Action<SortType, int> onSelectSortEvent; 
 | 
//         public event Action onSortCloseEvent; 
 | 
//         private void Awake() 
 | 
//         { 
 | 
//             m_Controller.OnRefreshCell += OnRefreshCell; 
 | 
//         } 
 | 
  
 | 
//         private void OnEnable() 
 | 
//         { 
 | 
//             m_Controller.Refresh(); 
 | 
//             if (m_SortElements != null) 
 | 
//             { 
 | 
//                 for (int i = 0; i < m_SortElements.Count; i++) 
 | 
//                 { 
 | 
//                     m_Controller.AddCell(ScrollerDataType.Header, i, OnSortSelect); 
 | 
//                 } 
 | 
//             } 
 | 
//             m_Controller.Restart(); 
 | 
  
 | 
//             if (m_ClickOtherSpace != null) 
 | 
//             { 
 | 
//                 m_ClickOtherSpace.RemoveAllListeners(); 
 | 
//                 m_ClickOtherSpace.AddListener(() => 
 | 
//                 { 
 | 
//                     if (onSortCloseEvent != null) 
 | 
//                     { 
 | 
//                         onSortCloseEvent(); 
 | 
//                     } 
 | 
//                 }); 
 | 
//             } 
 | 
//         } 
 | 
//         private void OnSortSelect(CellView _cell) 
 | 
//         { 
 | 
//             var _index = _cell.index; 
 | 
//             var type = m_SortElements[_index].type; 
 | 
//             if (onSelectSortEvent != null) 
 | 
//             { 
 | 
//                 onSelectSortEvent(sortType,type); 
 | 
//             } 
 | 
//             if (onSortCloseEvent != null) 
 | 
//             { 
 | 
//                 onSortCloseEvent(); 
 | 
//             } 
 | 
//             if (m_TargetDisplay != null) 
 | 
//             { 
 | 
//                 m_TargetDisplay.text = Language.Get(m_SortElements[_index].textKey); 
 | 
//             } 
 | 
//             this.SetActive(false); 
 | 
//         } 
 | 
//         private void OnRefreshCell(ScrollerDataType type, CellView cell) 
 | 
//         { 
 | 
//             var _sortCell = cell as SortCell; 
 | 
//             _sortCell.sortTypeTxt.text = Language.Get(m_SortElements[cell.index].textKey); 
 | 
//         } 
 | 
  
 | 
//         public void SetDefault(int value = 0) 
 | 
//         { 
 | 
//             if(value == 0) 
 | 
//             { 
 | 
//                 if (m_TargetDisplay != null && m_SortElements != null && m_SortElements.Count > 0) 
 | 
//                 { 
 | 
//                     m_TargetDisplay.text = Language.Get(m_SortElements[0].textKey); 
 | 
//                 } 
 | 
//             } 
 | 
//             else 
 | 
//             { 
 | 
//                 if (m_TargetDisplay != null && m_SortElements != null && m_SortElements.Count > 0) 
 | 
//                 { 
 | 
//                     foreach(var key in m_SortElements) 
 | 
//                     { 
 | 
//                         if(key.type == value) 
 | 
//                         { 
 | 
//                             m_TargetDisplay.text = Language.Get(key.textKey); 
 | 
//                             break; 
 | 
//                         } 
 | 
//                     } 
 | 
                   
 | 
//                 } 
 | 
//             } 
 | 
            
 | 
//         } 
 | 
//     } 
 | 
  
 | 
//     public enum SortType 
 | 
//     { 
 | 
//         EquipQuality, 
 | 
//         EquipStar, 
 | 
//         EquipLv, 
 | 
//     } 
 | 
//     [Serializable] 
 | 
//     public struct SortElement 
 | 
//     { 
 | 
//         [Header("语言表key")] 
 | 
//         public string textKey; 
 | 
//         public int type; 
 | 
//     } 
 |