ARWorldMapRequestStatus.cs
2.8 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
namespace UnityEngine.XR.ARKit
{
/// <summary>
/// The status of a session serialization request.
/// </summary>
/// <seealso cref="ARKitSessionSubsystem.GetARWorldMapAsync(System.Action{ARWorldMapRequestStatus,ARWorldMap})"/>
/// <seealso cref="ARKitSessionSubsystem.worldMappingStatus"/>
public enum ARWorldMapRequestStatus
{
/// <summary>
/// The request is not valid.
/// </summary>
Invalid = 0,
/// <summary>
/// The request is pending.
/// </summary>
Pending,
/// <summary>
/// The request succeeded successfully.
/// </summary>
Success,
/// <summary>
/// An unknown error occurred.
/// </summary>
ErrorUnknown,
/// <summary>
/// The request failed because serialization is not supported.
/// </summary>
ErrorNotSupported,
/// <summary>
/// The request failed because the supplied data was not valid.
/// </summary>
ErrorBadData,
/// <summary>
/// The request failed because there are insufficient features to
/// serialize a session. The API requires more data; try scanning more of
/// the environment.
/// </summary>
ErrorInsufficientFeatures
}
/// <summary>
/// Extension methods for the <see cref="ARWorldMapRequestStatus"/> enum.
/// </summary>
public static class ARWorldMapRequestStatusExtensions
{
/// <summary>
/// Whether the serialization request is complete. `IsDone` does not mean the
/// request completed successfully. See <see cref="IsError(ARWorldMapRequestStatus)"/>.
/// </summary>
/// <param name="status">The <see cref="ARWorldMapRequestStatus"/> being extended.</param>
/// <returns>Returns `true` if <paramref name="status"/> indicates the request has completed.
/// Returns `false` otherwise.</returns>
public static bool IsDone(this ARWorldMapRequestStatus status)
{
return status != ARWorldMapRequestStatus.Pending;
}
/// <summary>
/// Whether the serialization request completed with an error.
/// </summary>
/// <param name="status">The <see cref="ARWorldMapRequestStatus"/> being extended.</param>
/// <returns>Returns `true` if <paramref name="status"/> indicates an error status.
/// Returns `false` otherwise.</returns>
public static bool IsError(this ARWorldMapRequestStatus status)
{
switch (status)
{
case ARWorldMapRequestStatus.Pending:
case ARWorldMapRequestStatus.Success:
return false;
default:
return true;
}
}
}
}