SessionAvailability.cs
1.79 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
46
47
48
49
50
51
52
using System;
namespace UnityEngine.XR.ARSubsystems
{
/// <summary>
/// Flags used to determine session availability.
/// </summary>
[Flags]
public enum SessionAvailability
{
/// <summary>
/// Default value. The availability is unknown.
/// </summary>
None = 0,
/// <summary>
/// The current device is AR capable (but may require a software update).
/// </summary>
Supported = 1 << 1,
/// <summary>
/// The required AR software is installed on the device.
/// </summary>
Installed = 1 << 2
}
/// <summary>
/// Extensions to the <see cref="SessionAvailability"/> and <see cref="SessionInstallationStatus"/> enums.
/// </summary>
public static class SessionAvailabilityExtensions
{
/// <summary>
/// A helper method for <see cref="SessionAvailability"/> flags.
/// </summary>
/// <param name="availability">A <see cref="SessionAvailability"/> enum</param>
/// <returns>True if the <see cref="SessionAvailability.Supported"/> flag is set.</returns>
public static bool IsSupported(this SessionAvailability availability)
{
return (availability & SessionAvailability.Supported) != SessionAvailability.None;
}
/// <summary>
/// A helper method for <see cref="SessionAvailability"/> flags.
/// </summary>
/// <param name="availability">A <see cref="SessionAvailability"/> enum</param>
/// <returns>True if the <see cref="SessionAvailability.Installed"/> flag is set.</returns>
public static bool IsInstalled(this SessionAvailability availability)
{
return (availability & SessionAvailability.Installed) != SessionAvailability.None;
}
}
}