yyl
115 分钟以前 5d3366f2e0f687995eb7ad2107c4379fe7acd4e8
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
//--------------------------------------------------------
//    [Author]:           玩个游戏
//    [  Date ]:           Tuesday, August 14, 2018
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
 
 
    public class DynamicCyclicScroll : CyclicScroll
    {
        [SerializeField] int m_MaxDynamicElements;
 
        public override void Init<T>(List<T> _datas, bool _stepByStep = false)
        {
            var maxCount = Mathf.Min(m_MaxDynamicElements, _datas.Count);
            var beyond = _datas.Count > m_MaxDynamicElements;
            switch (align)
            {
                case Align.Bottom:
                case Align.Top:
                    var height = m_BoundOffset.top + m_BoundOffset.bottom + maxCount * m_CellSize.y + (maxCount - 1) * m_Spacing.y + (beyond ? m_CellSize.y * 0.5f : 0f);
                    rectTransform.sizeDelta = rectTransform.sizeDelta.SetY(height);
                    break;
                case Align.Left:
                case Align.Right:
                    var width = m_BoundOffset.left + m_BoundOffset.right + maxCount * m_CellSize.x + (maxCount - 1) * m_Spacing.x + (beyond ? m_CellSize.x * 0.5f : 0f);
                    rectTransform.sizeDelta = rectTransform.sizeDelta.SetX(width);
                    break;
            }
 
            this.enabled = beyond;
            base.Init(_datas, _stepByStep);
        }
 
    }