//-------------------------------------------------------- 
 | 
//    [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); 
 | 
        } 
 | 
  
 | 
    } 
 |