概要
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 に登録した関数の中で
インデックスを算出する処理を記述すれば良い