using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace UnityEngine.XR.Management
{
///
/// This attribute is used to tag classes as providing build settings support for an XR provider. The unified setting system
/// will present the settings as an inspectable object in the Unified Settings window using the built-in inspector UI.
///
/// The implementor of the settings is able to create their own custom UI and the Unified Settings system will use that UI in
/// place of the build in inspector. See the <a href="https://docs.unity3d.com/Manual/ExtendingTheEditor.html">>Extending the Editor</a>
/// portion of the Unity documentation for information and instructions on doing this.
///
[AttributeUsage(AttributeTargets.Class)]
public sealed class XRConfigurationDataAttribute : Attribute
{
///
/// The display name to be presented to the user in the Unified Settings window.
///
public string displayName { get; set; }
///
/// The key that will be used to store the singleton instance of these settings within EditorBuildSettings.
///
/// See <a href="https://docs.unity3d.com/ScriptReference/EditorBuildSettings.html">EditorBuildSettings</a> scripting
/// API documentation on how this is beign done.
///
public string buildSettingsKey { get; set; }
private XRConfigurationDataAttribute() {}
/// Constructor for attribute
/// The display name to use in the Project Settings window.
/// The key to use to get/set build settings with.
public XRConfigurationDataAttribute(string displayName, string buildSettingsKey)
{
this.displayName = displayName;
this.buildSettingsKey = buildSettingsKey;
}
}
}