mirror of
https://github.com/Cysharp/UniTask.git
synced 2026-05-18 13:10:09 +00:00
r
This commit is contained in:
29
README.md
29
README.md
@@ -805,32 +805,13 @@ async UniTask TripleClick(CancellationToken token)
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
All MonoBehaviour message events can convert async-streams by `AsyncTriggers` that can be enabled by `using Cysharp.Threading.Tasks.Triggers;`.
|
All MonoBehaviour message events can convert async-streams by `AsyncTriggers` that can be enabled by `using Cysharp.Threading.Tasks.Triggers;`. AsyncTrigger can be created using `GetAsync***Trigger` and triggers itself as UniTaskAsyncEnumerable.
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using Cysharp.Threading.Tasks.Triggers;
|
var trigger = this.GetOnCollisionEnterAsyncHandler();
|
||||||
|
await trigger.OnCollisionEnterAsync();
|
||||||
async UniTaskVoid MonitorCollision()
|
await trigger.OnCollisionEnterAsync();
|
||||||
{
|
await trigger.OnCollisionEnterAsync();
|
||||||
await gameObject.OnCollisionEnterAsync();
|
|
||||||
Debug.Log("Collision Enter");
|
|
||||||
/* do anything */
|
|
||||||
|
|
||||||
await gameObject.OnCollisionExitAsync();
|
|
||||||
Debug.Log("Collision Exit");
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Similar to uGUI event, AsyncTrigger can be created using `GetAsync***Trigger` and triggers itself as UniTaskAsyncEnumerable.
|
|
||||||
|
|
||||||
```csharp
|
|
||||||
// use await multiple times, get AsyncTriggerHandler is more efficient.
|
|
||||||
using(var trigger = this.GetOnCollisionEnterAsyncHandler())
|
|
||||||
{
|
|
||||||
await OnCollisionEnterAsync();
|
|
||||||
await OnCollisionEnterAsync();
|
|
||||||
await OnCollisionEnterAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
// every moves.
|
// every moves.
|
||||||
await this.GetAsyncMoveTrigger().ForEachAsync(axisEventData =>
|
await this.GetAsyncMoveTrigger().ForEachAsync(axisEventData =>
|
||||||
|
|||||||
Reference in New Issue
Block a user