ScrollingObjectCollection Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
A scrollable frame where content scroll is triggered by manual controller click and drag or according to pagination settings.
public ref class ScrollingObjectCollection : UnityEngine::MonoBehaviour, Microsoft::MixedReality::Toolkit::Input::IMixedRealityPointerHandler, Microsoft::MixedReality::Toolkit::Input::IMixedRealitySourceStateHandler, Microsoft::MixedReality::Toolkit::Input::IMixedRealityTouchHandler, UnityEngine::EventSystems::IEventSystemHandler
[UnityEngine.AddComponentMenu("Scripts/MRTK/SDK/ScrollingObjectCollection")]
[UnityEngine.ExecuteAlways]
public class ScrollingObjectCollection : UnityEngine.MonoBehaviour, Microsoft.MixedReality.Toolkit.Input.IMixedRealityPointerHandler, Microsoft.MixedReality.Toolkit.Input.IMixedRealitySourceStateHandler, Microsoft.MixedReality.Toolkit.Input.IMixedRealityTouchHandler, UnityEngine.EventSystems.IEventSystemHandler
[<UnityEngine.AddComponentMenu("Scripts/MRTK/SDK/ScrollingObjectCollection")>]
[<UnityEngine.ExecuteAlways>]
type ScrollingObjectCollection = class
inherit MonoBehaviour
interface IMixedRealityPointerHandler
interface IEventSystemHandler
interface IMixedRealitySourceStateHandler
interface IMixedRealityTouchHandler
Public Class ScrollingObjectCollection
Inherits MonoBehaviour
Implements IEventSystemHandler, IMixedRealityPointerHandler, IMixedRealitySourceStateHandler, IMixedRealityTouchHandler
- Inheritance
-
UnityEngine.MonoBehaviourScrollingObjectCollection
- Attributes
-
UnityEngine.AddComponentMenuAttribute UnityEngine.ExecuteAlwaysAttribute
- Implements
-
IMixedRealityPointerHandler IMixedRealitySourceStateHandler IMixedRealityTouchHandler UnityEngine.EventSystems.IEventSystemHandler
Remarks
Executing also in edit mode to properly catch and mask any new content added to scroll container.
Constructors
ScrollingObjectCollection() |
Fields
OnClick |
Event that is fired on the target object when the ScrollingObjectCollection deems event as a Click. |
OnMomentumEnded |
Event that is fired on the target object when the ScrollingObjectCollection is no longer in motion from velocity |
OnMomentumStarted |
Event that is fired on the target object when the ScrollingObjectCollection is starting motion with velocity. |
OnTouchEnded |
Event that is fired on the target object when the ScrollingObjectCollection is no longer touched. |
OnTouchStarted |
Event that is fired on the target object when the ScrollingObjectCollection is touched. |
Properties
AnimationLength |
The amount of time (in seconds) the PaginationCurve will take to evaluate. |
BounceMultiplier |
Multiplier to add more bounce to the overscroll of a list when using FalloffPerFrame or FalloffPerItem. |
CanScroll |
Enables/disables scrolling with near/far interaction. |
CellDepth |
Depth of cell used for masking out content renderers that are out of bounds. |
CellHeight |
Height of the pagination cell.Hhide |
CellsPerTier |
Number of cells in a row on up-down scroll or number of cells in a column on left-right scroll. |
CellWidth |
Width of the pagination cell. |
ClipBox |
The ScrollingObjectCollection's ClippingBox that is used for clipping items in and out of the list. |
ClippingObject |
The empty GameObject containing the ScrollingObjectCollection's ClippingBox. |
ColliderEditMode |
Edit modes for defining the scroll interaction collider boundaries. Choose 'Auto' to automatically use pagination values. Choose 'Manual' for enabling direct manipulation of the collider. |
DisableClippedGameObjects |
Disables GameObjects with Renderer components which are clipped by the clipping box. Improves performance significantly by reducing the number of GameObjects that need to be managed in engine. |
DisableClippedRenderers |
Disables the Renderer components of Gameobjects which are clipped by the clipping box. Improves performance by reducing the number of renderers that need to be tracked, while still allowing the GameObjects associated with those renders to continue updating. Less performant compared to using DisableClippedGameObjects |
FirstHiddenCellIndex |
Index of the first hidden cell. |
FirstVisibleCellIndex |
Index of the first visible cell. |
FrontTouchDistance |
Distance, in meters, to position a local xy plane used to verify if a touch interaction started in the front of the scroll view. |
HandDeltaScrollThreshold |
The distance, in meters, the current pointer can travel along the scroll direction before triggering a scroll drag. |
HasMomentum |
Tracks whether the scroll has any kind of momentum. True if scroll is being dragged by a controller, the velocity is falling off after a drag release or during pagination movement. |
IsDragging |
Tracks whether the scroll is being dragged due to a controller movement. |
IsEngaged |
Tracks whether content or scroll background is being interacted with. |
IsTouched |
Tracks whether the scroll content or background is touched by a near pointer. Remains true while the same near pointer does not cross the scrolling release boundaries. |
MaskEditMode |
Edit modes for defining the clipping box masking boundaries. Choose 'Auto' to automatically use pagination values. Choose 'Manual' for enabling direct manipulation of the clipping box object. |
MaskEnabled |
Visibility mode of scroll content. Default value will mask all objects outside of the scroll viewable area. |
PaginationCurve |
Animation curve used to interpolate the pagination and movement methods. |
ReleaseThresholdBack |
Withdraw amount, in meters, from the back of the scroll boundary needed to transition from touch engaged to released. |
ReleaseThresholdFront |
Withdraw amount, in meters, from the front of the scroll boundary needed to transition from touch engaged to released. |
ReleaseThresholdLeftRight |
Withdraw amount, in meters, from the right or left of the scroll boundary needed to transition from touch engaged to released. |
ReleaseThresholdTopBottom |
Withdraw amount, in meters, from the top or bottom of the scroll boundary needed to transition from touch engaged to released. |
ScrollContainerPosition |
The local position of the moving scroll container. Can be used to represent the container drag displacement. |
ScrollDirection |
The direction in which content should scroll. |
ScrollingCollider |
Scrolling interaction collider used to catch pointer and touch events on empty spaces. |
ScrollingTouchable |
Scrolling interaction touchable used to catch touch events on empty spaces. |
TiersPerPage |
Number of visible tiers in the scrolling area. |
TypeOfVelocity |
The desired type of velocity for the scroller. |
UseOnPreRender |
Toggles whether Camera OnPreRender callback will be used to manage content visibility. The fallback is MonoBehaviour.LateUpdate(). |
VelocityDampen |
Amount of drag applied to velocity. |
VelocityMultiplier |
Amount of (extra) velocity to be applied to scroller. |
Methods
AddContent(GameObject) |
Safely adds a child game object to scroll collection. |
IsCellVisible(Int32) |
Checks whether the given cell is visible relative to viewable area or page. |
MoveByPages(Int32, Boolean, Action) |
Moves scroller container by a multiplier of the number of tiers in the viewable area. |
MoveByTiers(Int32, Boolean, Action) |
Moves scroller container a relative number of tiers of cells. |
MoveToIndex(Int32, Boolean, Action) |
Moves scroller container to a position where the selected cell is in the first tier of the viewable area. |
RemoveItem(GameObject) |
Safely removes a child game object from scroll content and clipping box. |
Reset() |
Resets the ScrollingObjectCollection |
UpdateContent() |
Sets up the scroll clipping object and the interactable components according to the scroll content and chosen settings. |