Files
adriadri6972 d3d9c5f833 upload project
2025-07-31 15:21:08 +02:00

84 lines
2.8 KiB
C#

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 completed 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><see langword="true"/> if <paramref name="status"/> indicates the request has completed.
/// Otherwise, returns <see langword="false"/>.</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><see langword="true"/> if <paramref name="status"/> indicates an error status.
/// Otherwise, returns <see langword="false"/>.</returns>
public static bool IsError(this ARWorldMapRequestStatus status)
{
switch (status)
{
case ARWorldMapRequestStatus.Pending:
case ARWorldMapRequestStatus.Success:
return false;
default:
return true;
}
}
}
}