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