using UnityEngine.XR.Interaction.Toolkit.Interactors.Casters;
namespace UnityEngine.XR.Interaction.Toolkit.UI
{
///
/// Defines an interface for updating a UI data model.
///
///
/// The primary functionality is to enable casters to receive calls to update the UI data model based on the current state of the caster and
/// attempting to obtain the current UI raycast result from the caster.
///
///
///
public interface IUIModelUpdater
{
///
/// Updates the UI data model based on the implementer of this interface.
///
/// UI data model to update.
/// UI select input state to write into the UI data model.
/// UI scroll input state to write into the UI data model.
/// Returns if UI data model was updated successfully.
bool UpdateUIModel(ref TrackedDeviceModel uiModel, bool isSelectActive, in Vector2 scrollDelta);
}
}