1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//--------------------------------------------------------
//    [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;
                }
            }
        }
 
 
 
    }