Struct AsyncOperationHandle<TObject>
Handle for internal operations. This allows for reference counting and checking for valid references.
Inherited Members
Namespace: UnityEngine.ResourceManagement.AsyncOperations
Syntax
public struct AsyncOperationHandle<TObject> : IEnumerator, IEquatable<AsyncOperationHandle<TObject>>
Type Parameters
Name | Description |
---|---|
TObject | The object type of the underlying operation. |
Properties
DebugName
Debug name of the operation.
Declaration
public string DebugName { get; }
Property Value
Type | Description |
---|---|
String |
IsDone
True if the operation is complete.
Declaration
public bool IsDone { get; }
Property Value
Type | Description |
---|---|
Boolean |
OperationException
The exception for a failed operation. This will be null unless Status is failed.
Declaration
public Exception OperationException { get; }
Property Value
Type | Description |
---|---|
Exception |
PercentComplete
The progress of the internal operation. This is evenly weighted between all sub-operations. For example, a LoadAssetAsync call could potentially be chained with InitializeAsync and have multiple dependent operations that download and load content. In that scenario, PercentComplete would reflect how far the overal operation was, and would not accurately represent just percent downloaded or percent loaded into memory. For accurate download percentages, use GetDownloadStatus().
Declaration
public float PercentComplete { get; }
Property Value
Type | Description |
---|---|
Single |
Result
The result object of the operations.
Declaration
public TObject Result { get; }
Property Value
Type | Description |
---|---|
TObject |
Status
The status of the internal operation.
Declaration
public AsyncOperationStatus Status { get; }
Property Value
Type | Description |
---|---|
AsyncOperationStatus |
Task
Return a Task object to wait on when using async await.
Declaration
public Task<TObject> Task { get; }
Property Value
Type | Description |
---|---|
Task<TObject> |
Methods
Equals(AsyncOperationHandle<TObject>)
Provide equality for this struct.
Declaration
public bool Equals(AsyncOperationHandle<TObject> other)
Parameters
Type | Name | Description |
---|---|---|
AsyncOperationHandle<TObject> | other | The operation to compare to. |
Returns
Type | Description |
---|---|
Boolean | True if the the operation handles reference the same AsyncOperation and the version is the same. |
Implements
GetDownloadStatus()
Return the current download status for this operation and its dependencies.
Declaration
public DownloadStatus GetDownloadStatus()
Returns
Type | Description |
---|---|
DownloadStatus | The download status. |
GetHashCode()
Get hash code of this struct.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 |
Overrides
IsValid()
Check if the handle references an internal operation.
Declaration
public bool IsValid()
Returns
Type | Description |
---|---|
Boolean | True if valid. |
WaitForCompletion()
Synchronously complete the async operation.
Declaration
public TObject WaitForCompletion()
Returns
Type | Description |
---|---|
TObject | The result of the operation or null. |
Events
Completed
Completion event for the internal operation. If this is assigned on a completed operation, the callback is deferred until the LateUpdate of the current frame.
Declaration
public event Action<AsyncOperationHandle<TObject>> Completed
Event Type
Type | Description |
---|---|
Action<AsyncOperationHandle<TObject>> |
CompletedTypeless
Completion event for non-typed callback handlers. If this is assigned on a completed operation, the callback is deferred until the LateUpdate of the current frame.
Declaration
public event Action<AsyncOperationHandle> CompletedTypeless
Event Type
Type | Description |
---|---|
Action<AsyncOperationHandle> |
Destroyed
Event for handling the destruction of the operation.
Declaration
public event Action<AsyncOperationHandle> Destroyed
Event Type
Type | Description |
---|---|
Action<AsyncOperationHandle> |
Operators
Implicit(AsyncOperationHandle<TObject> to AsyncOperationHandle)
Conversion from typed to non typed handles. This does not increment the reference count. To convert from non-typed back, use AsyncOperationHandle.Convert<T>()
Declaration
public static implicit operator AsyncOperationHandle(AsyncOperationHandle<TObject> obj)
Parameters
Type | Name | Description |
---|---|---|
AsyncOperationHandle<TObject> | obj | The typed handle to convert. |
Returns
Type | Description |
---|---|
AsyncOperationHandle | Returns the converted operation handle. |
Explicit Interface Implementations
IEnumerator.Current
Declaration
object IEnumerator.Current { get; }
Returns
Type | Description |
---|---|
Object |
Implements
IEnumerator.MoveNext()
Overload for MoveNext().
Declaration
bool IEnumerator.MoveNext()
Returns
Type | Description |
---|---|
Boolean | Returns true if the enumerator can advance to the next element in the collectin. Returns false otherwise. |
Implements
IEnumerator.Reset()
Overload for Reset().
Declaration
void IEnumerator.Reset()