MassivePickerScrollRect

MassivePickerの1列(あるいは1行)の管理を行うクラスです. アイテムやスクロールの制御を処理します. UnityEngine.ScrollRectを継承しており同等の機能を持っています.

アイテムを更新する機能

名前

説明

UpdateItemContent( int itemIndex )

指定されたアイテムの内容を更新します.
massivePickerItem.SetItemContents()を呼び出します.

UpdateAllItemContent()

可視範囲にあるすべてのアイテムの内容を更新します.
massivePickerItem.SetItemContents()を呼び出します.
選択中のアイテムを取得する機能

名前

説明

GetSelectedPickerItem()

現在選択されているアイテムにアタッチされているMassivePickerItemを返します. selectedPickerItemの関数版です.

selectedPickerItem

現在選択されているアイテムにアタッチされているMassivePickerItemです. GetSelectedPickerItem()のプロパティ版です.

GetSelectedItem()

現在選択されているアイテムのGameObjectを返します. selectedItemの関数版です.

selectedItem

現在選択されているアイテムのGameObjectです. GetSelectedItem()のプロパティ版です.

スクロール機能

名前

説明

ScrollToItemAtIndex( int index, bool immdiate = false )

index番目のアイテムにスクロールします. immdiateがtrueのときスクロールは瞬間的に行われます.

ScrollTo( MassivePickerItem item, bool immdiate = false )

itemへスクロールします. immdiateがtrueのときスクロールは瞬間的に行われます.

ScrollTo( float offset, bool immdiate = false )

offsetの位置へスクロールします.
この値は PickerItem.position や GetScrollPosition(), firstItemPosition などから取得できます.

ScrollToNearItem( bool immdiate = false )

最寄のアイテムへスクロールします. immdiateがtrueのときスクロールは瞬間的に行われます.

値を取得する機能

名前

説明

itemCount

ピッカーが持つアイテム数です.

GetScrollPosition()

現在のスクロール位置を取得します.

firstItemPosition

最初のアイテムのスクロール位置を取得します.

lastItemPosition

最後のアイテムのスクロール位置を取得します.

infiniteScroll

無限スクロールの有効/無効を取得します.

GetNearItemIndex()

最寄のアイテムのインデックスを取得します.

windowSize

アイテムを表示する領域のサイズを取得します.

イベント

名前

説明

onSelectItem

アイテムが選択されたときに送信されるイベントです.
whenToSendEvents で送信タイミングを変更できます.
イベントについては, https://docs.unity3d.com/Manual/UnityEvents.html を参照してください.

Note

イベントはLateUpdate()から送信されます.
値を取得/セットする機能

名前

説明

itemSize

アイテムのサイズです.

itemCount

アイテムの個数です.

deactiveItemOnAwake

Awake()上でItemSourceに設定されたオブジェクトに対しSetActive(false)を呼ぶことをセットするフラグです.
Item Source がシーン上に配置されているオブジェクトであれば
このフラグにtrueをセットすることでそのオブジェクトを不可視にできます.
Item Source がResources上のプレハブであればこのフラグをセットする必要はありません.

itemSource

アイテムのコピー元となるGameObjectです.
MassivePickerItemを継承したコンポーネントがアタッチされている必要があります.
deactiveItemOnAwake がセットされている場合、このオブジェクトのSetActive(false)が呼ばれます.

layout

スクロールの方向を取得/セットします.
RectTransform.Axis.Horizontal, RectTransform.Axis.Vertical のいずれかが取得/セットできます.

autoScrollSeconds

アイテムをタップしたときに、そのアイテムにスクロールするためにかかる時間です.

slipVelocityRate

速度がこの割合を下回った場合にスリップを停止し最寄のアイテムにスクロールします.

wheelEffect

ホイール上にアイテムを配置したような視覚効果を再現します. Column中央からの距離に応じてアイテムのサイズを縮めます.

wheelPerspective

ホイールエフェクトでの奥行きの程度をセットします.

movementType

コンテンツがスクロール矩形を越えて移動する際の挙動です.
Unrestricted : 無限にループします.
Elastic : 弾力があるように振舞います.
Clamped : 停止します.

initialPosition

スクロールの初期状態をセットします.

whenToSendEvents

イベントの送信タイミングです.
Always : アイテムが変更される度に常にOnSelectItemイベントを送信します.
OnlyScrollStops : アイテムが変更され、かつスクロールが停止したときにのみOnSelectItemイベントを送信します.

enabledMouseControl

マウス/指によるコントロールの有効/無効を取得/セットします.

Note

上記の項目はインスペクターからもセットすることが可能です.
また、一部のパラメータの挙動は下記のデモで確認可能です.
Assets/PickerForUGUI/Demo/ParameterDemo.unity