XRConfigurationData.cs
2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace UnityEngine.XR.Management
{
/// <summary>
/// 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.
/// </summary>
[AttributeUsage(AttributeTargets.Class)]
public sealed class XRConfigurationDataAttribute : Attribute
{
/// <summary>
/// The display name to be presented to the user in the Unified Settings window.
/// </summary>
public string displayName { get; set; }
/// <summary>
/// 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.
/// </summary>
public string buildSettingsKey { get; set; }
private XRConfigurationDataAttribute() {}
/// <summary>Constructor for attribute</summary>
/// <param name="displayName">The display name to use in the Project Settings window.</param>
/// <param name="buildSettingsKey">The key to use to get/set build settings with.</param>
public XRConfigurationDataAttribute(string displayName, string buildSettingsKey)
{
this.displayName = displayName;
this.buildSettingsKey = buildSettingsKey;
}
}
}