// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using Microsoft.MixedReality.Toolkit.Utilities;
using UnityEngine;
namespace Microsoft.MixedReality.Toolkit.Input
{
///
/// Basic interface for synchronizing to a controller pose.
///
public interface IMixedRealityControllerPoseSynchronizer : IMixedRealitySourcePoseHandler,
IMixedRealityInputHandler,
IMixedRealityInputHandler,
IMixedRealityInputHandler,
IMixedRealityInputHandler,
IMixedRealityInputHandler,
IMixedRealityInputHandler
{
///
/// The controller handedness this component is synchronized with.
///
Handedness Handedness { get; }
///
/// Should this GameObject clean itself up when its controller is lost?
///
/// It's up to the implementation to properly destroy the GameObject's this interface will implement.
bool DestroyOnSourceLost { get; set; }
///
/// The current controller reference.
///
IMixedRealityController Controller { get; set; }
///
/// Should the Transform's position be driven from the source pose or from input handler?
///
bool UseSourcePoseData { get; set; }
///
/// The input action that will drive the Transform's pose, position, or rotation.
///
MixedRealityInputAction PoseAction { get; set; }
}
}