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