Skip to content

Commit 1bb2ab3

Browse files
committed
Merge branch 'release/0.9.5'
2 parents ea684af + 886493a commit 1bb2ab3

File tree

80 files changed

+57592
-32601
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+57592
-32601
lines changed

CHANGELOG.md

+17
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file.
33

44
The format is based on [Keep a Changelog](http://keepachangelog.com/); this project adheres to [Semantic Versioning](http://semver.org/).
55

6+
-----------------------
7+
## [0.9.5] - unreleased
8+
9+
### Added
10+
- Added `IAsyncOperation.Id` property for easy operation identification.
11+
- Added `AsyncUtility.GetText` and `AsyncUtility.GetBytes` helpers.
12+
- Added `ToTask` extensions for `AsyncOperation`/`UnityWebRequest`/`WWW`.
13+
- `AsyncResult` now implements `AsyncContinuation` to enable easy operation chaining.
14+
15+
### Fixed
16+
- Fixed compile warnings for Unity 2018.2.
17+
18+
### Removed
19+
- Removed `ToAsyncXxx` extension methods for `WWW` and `UnityWebRequest`.
20+
- Removed `MovieTexture` related methods for Unity 2018.2 (the class is deprecated now).
21+
- Removed `IAsyncSchedulable` interface (it was just another form of `IAsyncContinuation`).
22+
623
-----------------------
724
## [0.9.4] - 2018.07.10
825

README.md

+11-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Channel | UnityFx.Async |
55
AppVeyor | [![Build status](https://ci.appveyor.com/api/projects/status/hfmq9vow53al7tpd/branch/master?svg=true)](https://ci.appveyor.com/project/Arvtesh/unityfx-async/branch/master) [![AppVeyor tests](https://img.shields.io/appveyor/tests/Arvtesh/unityFx-async.svg)](https://ci.appveyor.com/project/Arvtesh/unityfx-async/build/tests)
66
NuGet | [![NuGet](https://img.shields.io/nuget/v/UnityFx.Async.svg)](https://www.nuget.org/packages/UnityFx.Async)
77
Github | [![GitHub release](https://img.shields.io/github/release/Arvtesh/UnityFx.Async.svg?logo=github)](https://github.com/Arvtesh/UnityFx.Async/releases)
8-
Unity Asset Store | [![Asynchronous operations for Unity](https://img.shields.io/badge/tools-v0.9.3-green.svg)](https://assetstore.unity.com/packages/tools/asynchronous-operations-for-unity-96696)
8+
Unity Asset Store | [![Asynchronous operations for Unity](https://img.shields.io/badge/tools-v0.9.5-green.svg)](https://assetstore.unity.com/packages/tools/asynchronous-operations-for-unity-96696)
99

1010
**If you enjoy using the library - please, [rate and review](https://assetstore.unity.com/packages/tools/asynchronous-operations-for-unity-96696) it on the Asset Store!**
1111

@@ -34,7 +34,7 @@ The table below summarizes differences berween *UnityFx.Async* and other popular
3434
| Supports cancellation | ✔️ | -️ | ✔️ |
3535
| Supports progress reporting | ✔️ | ✔️ | ✔️ |
3636
| Supports child operations | - | - | ✔️ |
37-
| Minimum operation data size for 32-bit systems (in bytes) | 28+ | 36+ | 40+ |
37+
| Minimum operation data size for 32-bit systems (in bytes) | 32+ | 36+ | 40+ |
3838
| Minimum number of allocations per continuation | ~1 | 5+ | 2+ |
3939

4040
## Getting Started
@@ -385,6 +385,15 @@ class MyContinuation : IAsyncContinuation
385385
var op = DownloadTextAsync("http://www.google.com");
386386
op.AddCompletionCallback(new MyContinuation());
387387
```
388+
Please note that `AsyncResult` implements `IAsyncContinuation`. This means several `AsyncResult` instances can be chained like this:
389+
```csharp
390+
IAsyncOperation Foo(AsyncResult op1, AsyncResult op2, AsyncResult op3)
391+
{
392+
op1.AddCompletionCallback(op2);
393+
op2.AddCompletionCallback(op3);
394+
return op3;
395+
}
396+
```
388397

389398
### Disposing of operations
390399
All operations implement [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) interface. So strictly speaking users should call `Dispose()` when an operation is not in use. That said library implementation only requires this if `AsyncWaitHandle` was accessed (just like [tasks](https://blogs.msdn.microsoft.com/pfxteam/2012/03/25/do-i-need-to-dispose-of-tasks/)).

docs/api/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<title>Asynchronous operations for Unity3d | Asynchronous Operations for Unity </title>
99
<meta name="viewport" content="width=device-width">
1010
<meta name="title" content="Asynchronous operations for Unity3d | Asynchronous Operations for Unity ">
11-
<meta name="generator" content="docfx 2.31.0.0">
11+
<meta name="generator" content="docfx 2.37.2.0">
1212

1313
<link rel="shortcut icon" href="../favicon.ico">
1414
<link rel="stylesheet" href="../styles/docfx.vendor.css">
@@ -20,7 +20,7 @@
2020

2121

2222
</head>
23-
<body data-spy="scroll" data-target="#affix">
23+
<body data-spy="scroll" data-target="#affix" data-offset="120">
2424
<div id="wrapper">
2525
<header>
2626

docs/api/netstandard2.0/UnityFx.Async.AsyncCompletionSource-1.html

+114-29
Large diffs are not rendered by default.

docs/api/netstandard2.0/UnityFx.Async.AsyncCompletionSource.html

+111-29
Large diffs are not rendered by default.

docs/api/netstandard2.0/UnityFx.Async.AsyncContinuationOptions.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Enum AsyncContinuationOptions
1212
| Asynchronous Operations for Unity ">
13-
<meta name="generator" content="docfx 2.31.0.0">
13+
<meta name="generator" content="docfx 2.37.2.0">
1414

1515
<link rel="shortcut icon" href="../../favicon.ico">
1616
<link rel="stylesheet" href="../../styles/docfx.vendor.css">
@@ -22,7 +22,7 @@
2222

2323

2424
</head>
25-
<body data-spy="scroll" data-target="#affix">
25+
<body data-spy="scroll" data-target="#affix" data-offset="120">
2626
<div id="wrapper">
2727
<header>
2828

docs/api/netstandard2.0/UnityFx.Async.AsyncCreationOptions.html

+7-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Enum AsyncCreationOptions
1212
| Asynchronous Operations for Unity ">
13-
<meta name="generator" content="docfx 2.31.0.0">
13+
<meta name="generator" content="docfx 2.37.2.0">
1414

1515
<link rel="shortcut icon" href="../../favicon.ico">
1616
<link rel="stylesheet" href="../../styles/docfx.vendor.css">
@@ -22,7 +22,7 @@
2222

2323

2424
</head>
25-
<body data-spy="scroll" data-target="#affix">
25+
<body data-spy="scroll" data-target="#affix" data-offset="120">
2626
<div id="wrapper">
2727
<header>
2828

@@ -101,6 +101,11 @@ <h3 id="fields">Fields
101101
<tr>
102102
<td id="UnityFx_Async_AsyncCreationOptions_RunContinuationsAsynchronously">RunContinuationsAsynchronously</td>
103103
<td><p>Forces continuations added to the current operation to be executed asynchronously.</p>
104+
</td>
105+
</tr>
106+
<tr>
107+
<td id="UnityFx_Async_AsyncCreationOptions_SuppressCancellation">SuppressCancellation</td>
108+
<td><p>If set cancelling the operation has no effect (silently ignored).</p>
104109
</td>
105110
</tr>
106111
</tbody>

docs/api/netstandard2.0/UnityFx.Async.AsyncExtensions.AsyncAwaiter-1.html

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Struct AsyncExtensions.AsyncAwaiter&lt;T&gt;
1212
| Asynchronous Operations for Unity ">
13-
<meta name="generator" content="docfx 2.31.0.0">
13+
<meta name="generator" content="docfx 2.37.2.0">
1414

1515
<link rel="shortcut icon" href="../../favicon.ico">
1616
<link rel="stylesheet" href="../../styles/docfx.vendor.css">
@@ -22,7 +22,7 @@
2222

2323

2424
</head>
25-
<body data-spy="scroll" data-target="#affix">
25+
<body data-spy="scroll" data-target="#affix" data-offset="120">
2626
<div id="wrapper">
2727
<header>
2828

@@ -83,22 +83,22 @@ <h5>Implements</h5>
8383
<div class="inheritedMembers">
8484
<h5>Inherited Members</h5>
8585
<div>
86-
<span class="xref">System.ValueType.Equals(System.Object)</span>
86+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.equals#System_ValueType_Equals_System_Object_">ValueType.Equals(Object)</a>
8787
</div>
8888
<div>
89-
<span class="xref">System.ValueType.GetHashCode()</span>
89+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.gethashcode#System_ValueType_GetHashCode">ValueType.GetHashCode()</a>
9090
</div>
9191
<div>
92-
<span class="xref">System.ValueType.ToString()</span>
92+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.tostring#System_ValueType_ToString">ValueType.ToString()</a>
9393
</div>
9494
<div>
95-
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
95+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.equals#System_Object_Equals_System_Object_System_Object_">Object.Equals(Object, Object)</a>
9696
</div>
9797
<div>
98-
<span class="xref">System.Object.GetType()</span>
98+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.gettype#System_Object_GetType">Object.GetType()</a>
9999
</div>
100100
<div>
101-
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
101+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.referenceequals#System_Object_ReferenceEquals_System_Object_System_Object_">Object.ReferenceEquals(Object, Object)</a>
102102
</div>
103103
</div>
104104
<h6><strong>Namespace</strong>: <a class="xref" href="UnityFx.Async.html">UnityFx.Async</a></h6>

docs/api/netstandard2.0/UnityFx.Async.AsyncExtensions.AsyncAwaiter.html

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Struct AsyncExtensions.AsyncAwaiter
1212
| Asynchronous Operations for Unity ">
13-
<meta name="generator" content="docfx 2.31.0.0">
13+
<meta name="generator" content="docfx 2.37.2.0">
1414

1515
<link rel="shortcut icon" href="../../favicon.ico">
1616
<link rel="stylesheet" href="../../styles/docfx.vendor.css">
@@ -22,7 +22,7 @@
2222

2323

2424
</head>
25-
<body data-spy="scroll" data-target="#affix">
25+
<body data-spy="scroll" data-target="#affix" data-offset="120">
2626
<div id="wrapper">
2727
<header>
2828

@@ -83,22 +83,22 @@ <h5>Implements</h5>
8383
<div class="inheritedMembers">
8484
<h5>Inherited Members</h5>
8585
<div>
86-
<span class="xref">System.ValueType.Equals(System.Object)</span>
86+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.equals#System_ValueType_Equals_System_Object_">ValueType.Equals(Object)</a>
8787
</div>
8888
<div>
89-
<span class="xref">System.ValueType.GetHashCode()</span>
89+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.gethashcode#System_ValueType_GetHashCode">ValueType.GetHashCode()</a>
9090
</div>
9191
<div>
92-
<span class="xref">System.ValueType.ToString()</span>
92+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.tostring#System_ValueType_ToString">ValueType.ToString()</a>
9393
</div>
9494
<div>
95-
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
95+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.equals#System_Object_Equals_System_Object_System_Object_">Object.Equals(Object, Object)</a>
9696
</div>
9797
<div>
98-
<span class="xref">System.Object.GetType()</span>
98+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.gettype#System_Object_GetType">Object.GetType()</a>
9999
</div>
100100
<div>
101-
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
101+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.referenceequals#System_Object_ReferenceEquals_System_Object_System_Object_">Object.ReferenceEquals(Object, Object)</a>
102102
</div>
103103
</div>
104104
<h6><strong>Namespace</strong>: <a class="xref" href="UnityFx.Async.html">UnityFx.Async</a></h6>

docs/api/netstandard2.0/UnityFx.Async.AsyncExtensions.ConfiguredAsyncAwaitable-1.html

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Struct AsyncExtensions.ConfiguredAsyncAwaitable&lt;T&gt;
1212
| Asynchronous Operations for Unity ">
13-
<meta name="generator" content="docfx 2.31.0.0">
13+
<meta name="generator" content="docfx 2.37.2.0">
1414

1515
<link rel="shortcut icon" href="../../favicon.ico">
1616
<link rel="stylesheet" href="../../styles/docfx.vendor.css">
@@ -22,7 +22,7 @@
2222

2323

2424
</head>
25-
<body data-spy="scroll" data-target="#affix">
25+
<body data-spy="scroll" data-target="#affix" data-offset="120">
2626
<div id="wrapper">
2727
<header>
2828

@@ -79,22 +79,22 @@ <h1 id="UnityFx_Async_AsyncExtensions_ConfiguredAsyncAwaitable_1" data-uid="Unit
7979
<div class="inheritedMembers">
8080
<h5>Inherited Members</h5>
8181
<div>
82-
<span class="xref">System.ValueType.Equals(System.Object)</span>
82+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.equals#System_ValueType_Equals_System_Object_">ValueType.Equals(Object)</a>
8383
</div>
8484
<div>
85-
<span class="xref">System.ValueType.GetHashCode()</span>
85+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.gethashcode#System_ValueType_GetHashCode">ValueType.GetHashCode()</a>
8686
</div>
8787
<div>
88-
<span class="xref">System.ValueType.ToString()</span>
88+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.tostring#System_ValueType_ToString">ValueType.ToString()</a>
8989
</div>
9090
<div>
91-
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
91+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.equals#System_Object_Equals_System_Object_System_Object_">Object.Equals(Object, Object)</a>
9292
</div>
9393
<div>
94-
<span class="xref">System.Object.GetType()</span>
94+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.gettype#System_Object_GetType">Object.GetType()</a>
9595
</div>
9696
<div>
97-
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
97+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.referenceequals#System_Object_ReferenceEquals_System_Object_System_Object_">Object.ReferenceEquals(Object, Object)</a>
9898
</div>
9999
</div>
100100
<h6><strong>Namespace</strong>: <a class="xref" href="UnityFx.Async.html">UnityFx.Async</a></h6>

docs/api/netstandard2.0/UnityFx.Async.AsyncExtensions.ConfiguredAsyncAwaitable.html

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Struct AsyncExtensions.ConfiguredAsyncAwaitable
1212
| Asynchronous Operations for Unity ">
13-
<meta name="generator" content="docfx 2.31.0.0">
13+
<meta name="generator" content="docfx 2.37.2.0">
1414

1515
<link rel="shortcut icon" href="../../favicon.ico">
1616
<link rel="stylesheet" href="../../styles/docfx.vendor.css">
@@ -22,7 +22,7 @@
2222

2323

2424
</head>
25-
<body data-spy="scroll" data-target="#affix">
25+
<body data-spy="scroll" data-target="#affix" data-offset="120">
2626
<div id="wrapper">
2727
<header>
2828

@@ -79,22 +79,22 @@ <h1 id="UnityFx_Async_AsyncExtensions_ConfiguredAsyncAwaitable" data-uid="UnityF
7979
<div class="inheritedMembers">
8080
<h5>Inherited Members</h5>
8181
<div>
82-
<span class="xref">System.ValueType.Equals(System.Object)</span>
82+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.equals#System_ValueType_Equals_System_Object_">ValueType.Equals(Object)</a>
8383
</div>
8484
<div>
85-
<span class="xref">System.ValueType.GetHashCode()</span>
85+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.gethashcode#System_ValueType_GetHashCode">ValueType.GetHashCode()</a>
8686
</div>
8787
<div>
88-
<span class="xref">System.ValueType.ToString()</span>
88+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.valuetype.tostring#System_ValueType_ToString">ValueType.ToString()</a>
8989
</div>
9090
<div>
91-
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
91+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.equals#System_Object_Equals_System_Object_System_Object_">Object.Equals(Object, Object)</a>
9292
</div>
9393
<div>
94-
<span class="xref">System.Object.GetType()</span>
94+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.gettype#System_Object_GetType">Object.GetType()</a>
9595
</div>
9696
<div>
97-
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
97+
<a class="xref" href="https://docs.microsoft.com/dotnet/api/system.object.referenceequals#System_Object_ReferenceEquals_System_Object_System_Object_">Object.ReferenceEquals(Object, Object)</a>
9898
</div>
9999
</div>
100100
<h6><strong>Namespace</strong>: <a class="xref" href="UnityFx.Async.html">UnityFx.Async</a></h6>

0 commit comments

Comments
 (0)