// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using Microsoft.MixedReality.Toolkit.Utilities; using System; using UnityEngine; namespace Microsoft.MixedReality.Toolkit.Input { [Serializable] public struct MixedRealityInputDataProviderConfiguration : IMixedRealityServiceConfiguration { [SerializeField] [Implements(typeof(IMixedRealityInputDeviceManager), TypeGrouping.ByNamespaceFlat)] private SystemType componentType; /// public SystemType ComponentType => componentType; [SerializeField] private string componentName; /// public string ComponentName => componentName; [SerializeField] private uint priority; /// public uint Priority => priority; [SerializeField] [EnumFlags] private SupportedPlatforms runtimePlatform; /// public SupportedPlatforms RuntimePlatform => runtimePlatform; [SerializeField] private BaseMixedRealityProfile deviceManagerProfile; /// public BaseMixedRealityProfile Profile => deviceManagerProfile; /// /// Device manager specific configuration profile. /// [Obsolete("Use the Profile property instead.")] public BaseMixedRealityProfile DeviceManagerProfile => deviceManagerProfile; /// /// Constructor. /// /// The of the data provider. /// The friendly name of the data provider. /// The load priority of the data provider. /// The runtime platform(s) supported by the data provider. /// The configuration profile for the data provider. public MixedRealityInputDataProviderConfiguration( SystemType componentType, string componentName, uint priority, SupportedPlatforms runtimePlatform, BaseMixedRealityProfile profile) { this.componentType = componentType; this.componentName = componentName; this.priority = priority; this.runtimePlatform = runtimePlatform; deviceManagerProfile = profile; } } }