概要
protected override void Initialize()
{
base.Initialize();
m_scroller.OnValueChanged( UpdatePosition );
m_scroller.OnSelectionChanged( UpdateSelection );
}
protected override void UpdatePosition( float position )
{
base.UpdatePosition( position );
var i = Mathf.RoundToInt( position );
var size = m_items.Count;
var index = size < 1 ? 0 : i < 0 ? size - 1 + ( i + 1 ) % size : i % size;
UpdateSelection( index );
}
- 基本的には OnSelectionChanged に登録した関数は
スクロール内のオブジェクトがスナップした時に呼び出される
- スクロールをドラッグしている時などにも OnSelectionChanged を呼び出したい場合は
上記のように OnValueChanged に登録した関数の中で
インデックスを算出する処理を記述すれば良い