| //-------------------------------------------------------- | 
| //    [Author]:           玩个游戏 | 
| //    [  Date ]:           Wednesday, November 01, 2017 | 
| //-------------------------------------------------------- | 
| using UnityEngine; | 
| using System.Collections; | 
| using UnityEngine.UI; | 
| using UnityEngine.EventSystems; | 
|   | 
|   | 
|     public class AutoSelectCyclicScroll : CyclicScroll | 
|     { | 
|   | 
|         [SerializeField] RectTransform m_CenterSign; | 
|   | 
|         public bool autoSelectable { | 
|             get { return Time.time > allowSelectTime; } | 
|         } | 
|   | 
|         float allowSelectTime = 0f; | 
|         float forbidTime = 0f; | 
|   | 
|         public void TrySelectData<T>(T _data) | 
|         { | 
|             var index = datas.IndexOf(_data); | 
|             if (index != -1) | 
|             { | 
|                 MoveToCenter(index); | 
|                 allowSelectTime = Time.time + forbidTime; | 
|             } | 
|         } | 
|   | 
|         [ContextMenu("Arrange")] | 
|         public override void ReArrange() | 
|         { | 
|             base.ReArrange(); | 
|   | 
|             foreach (var item in infiniteItems) | 
|             { | 
|                 var autoSelectItem = item as AutoSelectScrollItem; | 
|                 if (autoSelectItem != null) | 
|                 { | 
|                     autoSelectItem.autoSelectScroll = this; | 
|                     autoSelectItem.centerSign = m_CenterSign; | 
|                 } | 
|             } | 
|         } | 
|   | 
|   | 
|   | 
|     } |