在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Unity提供高效的无分配异步/等待集成实例源码

Unity提供高效的无分配异步/等待集成实例源码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.56M
  • 下载次数:0
  • 浏览次数:6
  • 发布时间:2024-05-02
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: unity IT ty 源码 异步

实例介绍

【实例简介】

UniTask提供了高效的无分配异步/等待集成,采用基于结构体的UniTask和自定义AsyncMethodBuilder实现零分配。

使所有Unity AsyncOperations和Coroutines都可等待。

PlayerLoop基于任务(UniTask.Yield、UniTask.Delay、UniTask.DelayFrame等),可以替代所有的协程操作。

MonoBehaviour消息事件和uGUI事件可作为可等待/异步可枚举。

完全运行在Unity的PlayerLoop上,不使用线程,并在WebGL、wasm等上运行。

支持异步LINQ,具有通道和AsyncReactiveProperty。

TaskTracker窗口可防止内存泄漏。

与Task/ValueTask/IValueTaskSource高度兼容。



【实例截图】

【核心代码】
文件清单
└── UniTask-2e225fb8414e023df2aa3acae2ef225471981316
    ├── docs
    │   ├── api
    │   ├── docfx.json
    │   ├── index.md
    │   └── toc.yml
    ├── LICENSE
    ├── README_CN.md
    ├── README.md
    ├── src
    │   ├── UniTask
    │   │   ├── Assets
    │   │   │   ├── Editor
    │   │   │   │   ├── EditorRunnerChecker.cs
    │   │   │   │   ├── EditorRunnerChecker.cs.meta
    │   │   │   │   ├── PackageExporter.cs
    │   │   │   │   └── PackageExporter.cs.meta
    │   │   │   ├── Editor.meta
    │   │   │   ├── Plugins
    │   │   │   │   ├── UniTask
    │   │   │   │   │   ├── Editor
    │   │   │   │   │   │   ├── SplitterGUILayout.cs
    │   │   │   │   │   │   ├── SplitterGUILayout.cs.meta
    │   │   │   │   │   │   ├── UniTask.Editor.asmdef
    │   │   │   │   │   │   ├── UniTask.Editor.asmdef.meta
    │   │   │   │   │   │   ├── UniTaskTrackerTreeView.cs
    │   │   │   │   │   │   ├── UniTaskTrackerTreeView.cs.meta
    │   │   │   │   │   │   ├── UniTaskTrackerWindow.cs
    │   │   │   │   │   │   └── UniTaskTrackerWindow.cs.meta
    │   │   │   │   │   ├── Editor.meta
    │   │   │   │   │   ├── package.json
    │   │   │   │   │   ├── package.json.meta
    │   │   │   │   │   ├── Runtime
    │   │   │   │   │   │   ├── AsyncLazy.cs
    │   │   │   │   │   │   ├── AsyncLazy.cs.meta
    │   │   │   │   │   │   ├── AsyncReactiveProperty.cs
    │   │   │   │   │   │   ├── AsyncReactiveProperty.cs.meta
    │   │   │   │   │   │   ├── AsyncUnit.cs
    │   │   │   │   │   │   ├── AsyncUnit.cs.meta
    │   │   │   │   │   │   ├── CancellationTokenEqualityComparer.cs
    │   │   │   │   │   │   ├── CancellationTokenEqualityComparer.cs.meta
    │   │   │   │   │   │   ├── CancellationTokenExtensions.cs
    │   │   │   │   │   │   ├── CancellationTokenExtensions.cs.meta
    │   │   │   │   │   │   ├── CancellationTokenSourceExtensions.cs
    │   │   │   │   │   │   ├── CancellationTokenSourceExtensions.cs.meta
    │   │   │   │   │   │   ├── Channel.cs
    │   │   │   │   │   │   ├── Channel.cs.meta
    │   │   │   │   │   │   ├── CompilerServices
    │   │   │   │   │   │   │   ├── AsyncMethodBuilderAttribute.cs
    │   │   │   │   │   │   │   ├── AsyncMethodBuilderAttribute.cs.meta
    │   │   │   │   │   │   │   ├── AsyncUniTaskMethodBuilder.cs
    │   │   │   │   │   │   │   ├── AsyncUniTaskMethodBuilder.cs.meta
    │   │   │   │   │   │   │   ├── AsyncUniTaskVoidMethodBuilder.cs
    │   │   │   │   │   │   │   ├── AsyncUniTaskVoidMethodBuilder.cs.meta
    │   │   │   │   │   │   │   ├── StateMachineRunner.cs
    │   │   │   │   │   │   │   └── StateMachineRunner.cs.meta
    │   │   │   │   │   │   ├── CompilerServices.meta
    │   │   │   │   │   │   ├── EnumerableAsyncExtensions.cs
    │   │   │   │   │   │   ├── EnumerableAsyncExtensions.cs.meta
    │   │   │   │   │   │   ├── EnumeratorAsyncExtensions.cs
    │   │   │   │   │   │   ├── EnumeratorAsyncExtensions.cs.meta
    │   │   │   │   │   │   ├── ExceptionExtensions.cs
    │   │   │   │   │   │   ├── ExceptionExtensions.cs.meta
    │   │   │   │   │   │   ├── External
    │   │   │   │   │   │   │   ├── Addressables
    │   │   │   │   │   │   │   │   ├── AddressablesAsyncExtensions.cs
    │   │   │   │   │   │   │   │   ├── AddressablesAsyncExtensions.cs.meta
    │   │   │   │   │   │   │   │   ├── UniTask.Addressables.asmdef
    │   │   │   │   │   │   │   │   └── UniTask.Addressables.asmdef.meta
    │   │   │   │   │   │   │   ├── Addressables.meta
    │   │   │   │   │   │   │   ├── DOTween
    │   │   │   │   │   │   │   │   ├── DOTweenAsyncExtensions.cs
    │   │   │   │   │   │   │   │   ├── DOTweenAsyncExtensions.cs.meta
    │   │   │   │   │   │   │   │   ├── UniTask.DOTween.asmdef
    │   │   │   │   │   │   │   │   └── UniTask.DOTween.asmdef.meta
    │   │   │   │   │   │   │   ├── DOTween.meta
    │   │   │   │   │   │   │   ├── TextMeshPro
    │   │   │   │   │   │   │   │   ├── TextMeshProAsyncExtensions.cs
    │   │   │   │   │   │   │   │   ├── TextMeshProAsyncExtensions.cs.meta
    │   │   │   │   │   │   │   │   ├── TextMeshProAsyncExtensions.InputField.cs
    │   │   │   │   │   │   │   │   ├── TextMeshProAsyncExtensions.InputField.cs.meta
    │   │   │   │   │   │   │   │   ├── TextMeshProAsyncExtensions.InputField.tt
    │   │   │   │   │   │   │   │   ├── TextMeshProAsyncExtensions.InputField.tt.meta
    │   │   │   │   │   │   │   │   ├── UniTask.TextMeshPro.asmdef
    │   │   │   │   │   │   │   │   └── UniTask.TextMeshPro.asmdef.meta
    │   │   │   │   │   │   │   └── TextMeshPro.meta
    │   │   │   │   │   │   ├── External.meta
    │   │   │   │   │   │   ├── Internal
    │   │   │   │   │   │   │   ├── ArrayPool.cs
    │   │   │   │   │   │   │   ├── ArrayPool.cs.meta
    │   │   │   │   │   │   │   ├── ArrayPoolUtil.cs
    │   │   │   │   │   │   │   ├── ArrayPoolUtil.cs.meta
    │   │   │   │   │   │   │   ├── ArrayUtil.cs
    │   │   │   │   │   │   │   ├── ArrayUtil.cs.meta
    │   │   │   │   │   │   │   ├── ContinuationQueue.cs
    │   │   │   │   │   │   │   ├── ContinuationQueue.cs.meta
    │   │   │   │   │   │   │   ├── DiagnosticsExtensions.cs
    │   │   │   │   │   │   │   ├── DiagnosticsExtensions.cs.meta
    │   │   │   │   │   │   │   ├── Error.cs
    │   │   │   │   │   │   │   ├── Error.cs.meta
    │   │   │   │   │   │   │   ├── MinimumQueue.cs
    │   │   │   │   │   │   │   ├── MinimumQueue.cs.meta
    │   │   │   │   │   │   │   ├── PlayerLoopRunner.cs
    │   │   │   │   │   │   │   ├── PlayerLoopRunner.cs.meta
    │   │   │   │   │   │   │   ├── PooledDelegate.cs
    │   │   │   │   │   │   │   ├── PooledDelegate.cs.meta
    │   │   │   │   │   │   │   ├── RuntimeHelpersAbstraction.cs
    │   │   │   │   │   │   │   ├── RuntimeHelpersAbstraction.cs.meta
    │   │   │   │   │   │   │   ├── StatePool.cs
    │   │   │   │   │   │   │   ├── StatePool.cs.meta
    │   │   │   │   │   │   │   ├── TaskTracker.cs
    │   │   │   │   │   │   │   ├── TaskTracker.cs.meta
    │   │   │   │   │   │   │   ├── UnityEqualityComparer.cs
    │   │   │   │   │   │   │   ├── UnityEqualityComparer.cs.meta
    │   │   │   │   │   │   │   ├── UnityWebRequestExtensions.cs
    │   │   │   │   │   │   │   ├── UnityWebRequestExtensions.cs.meta
    │   │   │   │   │   │   │   ├── ValueStopwatch.cs
    │   │   │   │   │   │   │   ├── ValueStopwatch.cs.meta
    │   │   │   │   │   │   │   ├── WeakDictionary.cs
    │   │   │   │   │   │   │   └── WeakDictionary.cs.meta
    │   │   │   │   │   │   ├── Internal.meta
    │   │   │   │   │   │   ├── _InternalVisibleTo.cs
    │   │   │   │   │   │   ├── _InternalVisibleTo.cs.meta
    │   │   │   │   │   │   ├── IUniTaskAsyncEnumerable.cs
    │   │   │   │   │   │   ├── IUniTaskAsyncEnumerable.cs.meta
    │   │   │   │   │   │   ├── IUniTaskSource.cs
    │   │   │   │   │   │   ├── IUniTaskSource.cs.meta
    │   │   │   │   │   │   ├── Linq
    │   │   │   │   │   │   │   ├── Aggregate.cs
    │   │   │   │   │   │   │   ├── Aggregate.cs.meta
    │   │   │   │   │   │   │   ├── All.cs
    │   │   │   │   │   │   │   ├── All.cs.meta
    │   │   │   │   │   │   │   ├── Any.cs
    │   │   │   │   │   │   │   ├── Any.cs.meta
    │   │   │   │   │   │   │   ├── AppendPrepend.cs
    │   │   │   │   │   │   │   ├── AppendPrepend.cs.meta
    │   │   │   │   │   │   │   ├── AsUniTaskAsyncEnumerable.cs
    │   │   │   │   │   │   │   ├── AsUniTaskAsyncEnumerable.cs.meta
    │   │   │   │   │   │   │   ├── AsyncEnumeratorBase.cs
    │   │   │   │   │   │   │   ├── AsyncEnumeratorBase.cs.meta
    │   │   │   │   │   │   │   ├── Average.cs
    │   │   │   │   │   │   │   ├── Average.cs.meta
    │   │   │   │   │   │   │   ├── Average.tt
    │   │   │   │   │   │   │   ├── Average.tt.meta
    │   │   │   │   │   │   │   ├── Buffer.cs
    │   │   │   │   │   │   │   ├── Buffer.cs.meta
    │   │   │   │   │   │   │   ├── Cast.cs
    │   │   │   │   │   │   │   ├── Cast.cs.meta
    │   │   │   │   │   │   │   ├── CombineLatest.cs
    │   │   │   │   │   │   │   ├── CombineLatest.cs.meta
    │   │   │   │   │   │   │   ├── CombineLatest.tt
    │   │   │   │   │   │   │   ├── CombineLatest.tt.meta
    │   │   │   │   │   │   │   ├── Concat.cs
    │   │   │   │   │   │   │   ├── Concat.cs.meta
    │   │   │   │   │   │   │   ├── Contains.cs
    │   │   │   │   │   │   │   ├── Contains.cs.meta
    │   │   │   │   │   │   │   ├── Count.cs
    │   │   │   │   │   │   │   ├── Count.cs.meta
    │   │   │   │   │   │   │   ├── Create.cs
    │   │   │   │   │   │   │   ├── Create.cs.meta
    │   │   │   │   │   │   │   ├── DefaultIfEmpty.cs
    │   │   │   │   │   │   │   ├── DefaultIfEmpty.cs.meta
    │   │   │   │   │   │   │   ├── Distinct.cs
    │   │   │   │   │   │   │   ├── Distinct.cs.meta
    │   │   │   │   │   │   │   ├── DistinctUntilChanged.cs
    │   │   │   │   │   │   │   ├── DistinctUntilChanged.cs.meta
    │   │   │   │   │   │   │   ├── Do.cs
    │   │   │   │   │   │   │   ├── Do.cs.meta
    │   │   │   │   │   │   │   ├── ElementAt.cs
    │   │   │   │   │   │   │   ├── ElementAt.cs.meta
    │   │   │   │   │   │   │   ├── Empty.cs
    │   │   │   │   │   │   │   ├── Empty.cs.meta
    │   │   │   │   │   │   │   ├── Except.cs
    │   │   │   │   │   │   │   ├── Except.cs.meta
    │   │   │   │   │   │   │   ├── First.cs
    │   │   │   │   │   │   │   ├── First.cs.meta
    │   │   │   │   │   │   │   ├── ForEach.cs
    │   │   │   │   │   │   │   ├── ForEach.cs.meta
    │   │   │   │   │   │   │   ├── GroupBy.cs
    │   │   │   │   │   │   │   ├── GroupBy.cs.meta
    │   │   │   │   │   │   │   ├── GroupJoin.cs
    │   │   │   │   │   │   │   ├── GroupJoin.cs.meta
    │   │   │   │   │   │   │   ├── Intersect.cs
    │   │   │   │   │   │   │   ├── Intersect.cs.meta
    │   │   │   │   │   │   │   ├── Join.cs
    │   │   │   │   │   │   │   ├── Join.cs.meta
    │   │   │   │   │   │   │   ├── Last.cs
    │   │   │   │   │   │   │   ├── Last.cs.meta
    │   │   │   │   │   │   │   ├── LongCount.cs
    │   │   │   │   │   │   │   ├── LongCount.cs.meta
    │   │   │   │   │   │   │   ├── Max.cs
    │   │   │   │   │   │   │   ├── Max.cs.meta
    │   │   │   │   │   │   │   ├── Merge.cs
    │   │   │   │   │   │   │   ├── Merge.cs.meta
    │   │   │   │   │   │   │   ├── Min.cs
    │   │   │   │   │   │   │   ├── Min.cs.meta
    │   │   │   │   │   │   │   ├── MinMax.cs
    │   │   │   │   │   │   │   ├── MinMax.cs.meta
    │   │   │   │   │   │   │   ├── MinMax.tt
    │   │   │   │   │   │   │   ├── MinMax.tt.meta
    │   │   │   │   │   │   │   ├── Never.cs
    │   │   │   │   │   │   │   ├── Never.cs.meta
    │   │   │   │   │   │   │   ├── OfType.cs
    │   │   │   │   │   │   │   ├── OfType.cs.meta
    │   │   │   │   │   │   │   ├── OrderBy.cs
    │   │   │   │   │   │   │   ├── OrderBy.cs.meta
    │   │   │   │   │   │   │   ├── Pairwise.cs
    │   │   │   │   │   │   │   ├── Pairwise.cs.meta
    │   │   │   │   │   │   │   ├── Publish.cs
    │   │   │   │   │   │   │   ├── Publish.cs.meta
    │   │   │   │   │   │   │   ├── Queue.cs
    │   │   │   │   │   │   │   ├── Queue.cs.meta
    │   │   │   │   │   │   │   ├── Range.cs
    │   │   │   │   │   │   │   ├── Range.cs.meta
    │   │   │   │   │   │   │   ├── Repeat.cs
    │   │   │   │   │   │   │   ├── Repeat.cs.meta
    │   │   │   │   │   │   │   ├── Return.cs
    │   │   │   │   │   │   │   ├── Return.cs.meta
    │   │   │   │   │   │   │   ├── Reverse.cs
    │   │   │   │   │   │   │   ├── Reverse.cs.meta
    │   │   │   │   │   │   │   ├── Select.cs
    │   │   │   │   │   │   │   ├── Select.cs.meta
    │   │   │   │   │   │   │   ├── SelectMany.cs
    │   │   │   │   │   │   │   ├── SelectMany.cs.meta
    │   │   │   │   │   │   │   ├── SequenceEqual.cs
    │   │   │   │   │   │   │   ├── SequenceEqual.cs.meta
    │   │   │   │   │   │   │   ├── Single.cs
    │   │   │   │   │   │   │   ├── Single.cs.meta
    │   │   │   │   │   │   │   ├── Skip.cs
    │   │   │   │   │   │   │   ├── Skip.cs.meta
    │   │   │   │   │   │   │   ├── SkipLast.cs
    │   │   │   │   │   │   │   ├── SkipLast.cs.meta
    │   │   │   │   │   │   │   ├── SkipUntilCanceled.cs
    │   │   │   │   │   │   │   ├── SkipUntilCanceled.cs.meta
    │   │   │   │   │   │   │   ├── SkipUntil.cs
    │   │   │   │   │   │   │   ├── SkipUntil.cs.meta
    │   │   │   │   │   │   │   ├── SkipWhile.cs
    │   │   │   │   │   │   │   ├── SkipWhile.cs.meta
    │   │   │   │   │   │   │   ├── Subscribe.cs
    │   │   │   │   │   │   │   ├── Subscribe.cs.meta
    │   │   │   │   │   │   │   ├── Sum.cs
    │   │   │   │   │   │   │   ├── Sum.cs.meta
    │   │   │   │   │   │   │   ├── Sum.tt
    │   │   │   │   │   │   │   ├── Sum.tt.meta
    │   │   │   │   │   │   │   ├── Take.cs
    │   │   │   │   │   │   │   ├── Take.cs.meta
    │   │   │   │   │   │   │   ├── TakeLast.cs
    │   │   │   │   │   │   │   ├── TakeLast.cs.meta
    │   │   │   │   │   │   │   ├── TakeUntilCanceled.cs
    │   │   │   │   │   │   │   ├── TakeUntilCanceled.cs.meta
    │   │   │   │   │   │   │   ├── TakeUntil.cs
    │   │   │   │   │   │   │   ├── TakeUntil.cs.meta
    │   │   │   │   │   │   │   ├── TakeWhile.cs
    │   │   │   │   │   │   │   ├── TakeWhile.cs.meta
    │   │   │   │   │   │   │   ├── Throw.cs
    │   │   │   │   │   │   │   ├── Throw.cs.meta
    │   │   │   │   │   │   │   ├── ToArray.cs
    │   │   │   │   │   │   │   ├── ToArray.cs.meta
    │   │   │   │   │   │   │   ├── ToDictionary.cs
    │   │   │   │   │   │   │   ├── ToDictionary.cs.meta
    │   │   │   │   │   │   │   ├── ToHashSet.cs
    │   │   │   │   │   │   │   ├── ToHashSet.cs.meta
    │   │   │   │   │   │   │   ├── ToList.cs
    │   │   │   │   │   │   │   ├── ToList.cs.meta
    │   │   │   │   │   │   │   ├── ToLookup.cs
    │   │   │   │   │   │   │   ├── ToLookup.cs.meta
    │   │   │   │   │   │   │   ├── ToObservable.cs
    │   │   │   │   │   │   │   ├── ToObservable.cs.meta
    │   │   │   │   │   │   │   ├── ToUniTaskAsyncEnumerable.cs
    │   │   │   │   │   │   │   ├── ToUniTaskAsyncEnumerable.cs.meta
    │   │   │   │   │   │   │   ├── Union.cs
    │   │   │   │   │   │   │   ├── Union.cs.meta
    │   │   │   │   │   │   │   ├── UniTask.Linq.asmdef
    │   │   │   │   │   │   │   ├── UniTask.Linq.asmdef.meta
    │   │   │   │   │   │   │   ├── UnityExtensions
    │   │   │   │   │   │   │   │   ├── EveryUpdate.cs
    │   │   │   │   │   │   │   │   ├── EveryUpdate.cs.meta
    │   │   │   │   │   │   │   │   ├── EveryValueChanged.cs
    │   │   │   │   │   │   │   │   ├── EveryValueChanged.cs.meta
    │   │   │   │   │   │   │   │   ├── Timer.cs
    │   │   │   │   │   │   │   │   └── Timer.cs.meta
    │   │   │   │   │   │   │   ├── UnityExtensions.meta
    │   │   │   │   │   │   │   ├── Where.cs
    │   │   │   │   │   │   │   ├── Where.cs.meta
    │   │   │   │   │   │   │   ├── Zip.cs
    │   │   │   │   │   │   │   └── Zip.cs.meta
    │   │   │   │   │   │   ├── Linq.meta
    │   │   │   │   │   │   ├── MoveNextSource.cs
    │   │   │   │   │   │   ├── MoveNextSource.cs.meta
    │   │   │   │   │   │   ├── PlayerLoopHelper.cs
    │   │   │   │   │   │   ├── PlayerLoopHelper.cs.meta
    │   │   │   │   │   │   ├── PlayerLoopTimer.cs
    │   │   │   │   │   │   ├── PlayerLoopTimer.cs.meta
    │   │   │   │   │   │   ├── Progress.cs
    │   │   │   │   │   │   ├── Progress.cs.meta
    │   │   │   │   │   │   ├── TaskPool.cs
    │   │   │   │   │   │   ├── TaskPool.cs.meta
    │   │   │   │   │   │   ├── TimeoutController.cs
    │   │   │   │   │   │   ├── TimeoutController.cs.meta
    │   │   │   │   │   │   ├── TriggerEvent.cs
    │   │   │   │   │   │   ├── TriggerEvent.cs.meta
    │   │   │   │   │   │   ├── Triggers
    │   │   │   │   │   │   │   ├── AsyncAwakeTrigger.cs
    │   │   │   │   │   │   │   ├── AsyncAwakeTrigger.cs.meta
    │   │   │   │   │   │   │   ├── AsyncDestroyTrigger.cs
    │   │   │   │   │   │   │   ├── AsyncDestroyTrigger.cs.meta
    │   │   │   │   │   │   │   ├── AsyncStartTrigger.cs
    │   │   │   │   │   │   │   ├── AsyncStartTrigger.cs.meta
    │   │   │   │   │   │   │   ├── AsyncTriggerBase.cs
    │   │   │   │   │   │   │   ├── AsyncTriggerBase.cs.meta
    │   │   │   │   │   │   │   ├── AsyncTriggerExtensions.cs
    │   │   │   │   │   │   │   ├── AsyncTriggerExtensions.cs.meta
    │   │   │   │   │   │   │   ├── MonoBehaviourMessagesTriggers.cs
    │   │   │   │   │   │   │   ├── MonoBehaviourMessagesTriggers.cs.meta
    │   │   │   │   │   │   │   ├── MonoBehaviourMessagesTriggers.tt
    │   │   │   │   │   │   │   └── MonoBehaviourMessagesTriggers.tt.meta
    │   │   │   │   │   │   ├── Triggers.meta
    │   │   │   │   │   │   ├── UniTask.asmdef
    │   │   │   │   │   │   ├── UniTask.asmdef.meta
    │   │   │   │   │   │   ├── UniTask.AsValueTask.cs
    │   │   │   │   │   │   ├── UniTask.AsValueTask.cs.meta
    │   │   │   │   │   │   ├── UniTask.Bridge.cs
    │   │   │   │   │   │   ├── UniTask.Bridge.cs.meta
    │   │   │   │   │   │   ├── UniTaskCompletionSource.cs
    │   │   │   │   │   │   ├── UniTaskCompletionSource.cs.meta
    │   │   │   │   │   │   ├── UniTask.cs
    │   │   │   │   │   │   ├── UniTask.cs.meta
    │   │   │   │   │   │   ├── UniTask.Delay.cs
    │   │   │   │   │   │   ├── UniTask.Delay.cs.meta
    │   │   │   │   │   │   ├── UniTaskExtensions.cs
    │   │   │   │   │   │   ├── UniTaskExtensions.cs.meta
    │   │   │   │   │   │   ├── UniTaskExtensions.Shorthand.cs
    │   │   │   │   │   │   ├── UniTaskExtensions.Shorthand.cs.meta
    │   │   │   │   │   │   ├── UniTaskExtensions.Shorthand.tt
    │   │   │   │   │   │   ├── UniTaskExtensions.Shorthand.tt.meta
    │   │   │   │   │   │   ├── UniTask.Factory.cs
    │   │   │   │   │   │   ├── UniTask.Factory.cs.meta
    │   │   │   │   │   │   ├── UniTaskObservableExtensions.cs
    │   │   │   │   │   │   ├── UniTaskObservableExtensions.cs.meta
    │   │   │   │   │   │   ├── UniTask.Run.cs
    │   │   │   │   │   │   ├── UniTask.Run.cs.meta
    │   │   │   │   │   │   ├── UniTaskScheduler.cs
    │   │   │   │   │   │   ├── UniTaskScheduler.cs.meta
    │   │   │   │   │   │   ├── UniTaskSynchronizationContext.cs
    │   │   │   │   │   │   ├── UniTaskSynchronizationContext.cs.meta
    │   │   │   │   │   │   ├── UniTask.Threading.cs
    │   │   │   │   │   │   ├── UniTask.Threading.cs.meta
    │   │   │   │   │   │   ├── UniTaskVoid.cs
    │   │   │   │   │   │   ├── UniTaskVoid.cs.meta
    │   │   │   │   │   │   ├── UniTask.WaitUntil.cs
    │   │   │   │   │   │   ├── UniTask.WaitUntil.cs.meta
    │   │   │   │   │   │   ├── UniTask.WhenAll.cs
    │   │   │   │   │   │   ├── UniTask.WhenAll.cs.meta
    │   │   │   │   │   │   ├── UniTask.WhenAll.Generated.cs
    │   │   │   │   │   │   ├── UniTask.WhenAll.Generated.cs.meta
    │   │   │   │   │   │   ├── UniTask.WhenAll.Generated.tt
    │   │   │   │   │   │   ├── UniTask.WhenAll.Generated.tt.meta
    │   │   │   │   │   │   ├── UniTask.WhenAny.cs
    │   │   │   │   │   │   ├── UniTask.WhenAny.cs.meta
    │   │   │   │   │   │   ├── UniTask.WhenAny.Generated.cs
    │   │   │   │   │   │   ├── UniTask.WhenAny.Generated.cs.meta
    │   │   │   │   │   │   ├── UniTask.WhenAny.Generated.tt
    │   │   │   │   │   │   ├── UniTask.WhenAny.Generated.tt.meta
    │   │   │   │   │   │   ├── UnityAsyncExtensions.AssetBundleRequestAllAssets.cs
    │   │   │   │   │   │   ├── UnityAsyncExtensions.AssetBundleRequestAllAssets.cs.meta
    │   │   │   │   │   │   ├── UnityAsyncExtensions.AsyncGPUReadback.cs
    │   │   │   │   │   │   ├── UnityAsyncExtensions.AsyncGPUReadback.cs.meta
    │   │   │   │   │   │   ├── UnityAsyncExtensions.cs
    │   │   │   │   │   │   ├── UnityAsyncExtensions.cs.meta
    │   │   │   │   │   │   ├── UnityAsyncExtensions.Jobs.cs
    │   │   │   │   │   │   ├── UnityAsyncExtensions.Jobs.cs.meta
    │   │   │   │   │   │   ├── UnityAsyncExtensions.MonoBehaviour.cs
    │   │   │   │   │   │   ├── UnityAsyncExtensions.MonoBehaviour.cs.meta
    │   │   │   │   │   │   ├── UnityAsyncExtensions.tt
    │   │   │   │   │   │   ├── UnityAsyncExtensions.tt.meta
    │   │   │   │   │   │   ├── UnityAsyncExtensions.uGUI.cs
    │   │   │   │   │   │   ├── UnityAsyncExtensions.uGUI.cs.meta
    │   │   │   │   │   │   ├── UnityAwaitableExtensions.cs
    │   │   │   │   │   │   ├── UnityAwaitableExtensions.cs.meta
    │   │   │   │   │   │   ├── UnityBindingExtensions.cs
    │   │   │   │   │   │   ├── UnityBindingExtensions.cs.meta
    │   │   │   │   │   │   ├── UnityWebRequestException.cs
    │   │   │   │   │   │   └── UnityWebRequestException.cs.meta
    │   │   │   │   │   └── Runtime.meta
    │   │   │   │   └── UniTask.meta
    │   │   │   ├── Plugins.meta
    │   │   │   ├── RuntimeUnitTestToolkit
    │   │   │   │   ├── Editor
    │   │   │   │   │   ├── HierarchyTreeBuilder.cs
    │   │   │   │   │   ├── HierarchyTreeBuilder.cs.meta
    │   │   │   │   │   ├── UnitTestBuilder.cs
    │   │   │   │   │   ├── UnitTestBuilder.cs.meta
    │   │   │   │   │   ├── UnitTestBuilder.MenuItems.cs
    │   │   │   │   │   └── UnitTestBuilder.MenuItems.cs.meta
    │   │   │   │   ├── Editor.meta
    │   │   │   │   ├── package.json
    │   │   │   │   ├── package.json.meta
    │   │   │   │   ├── RuntimeUnitTestToolkit.asmdef
    │   │   │   │   ├── RuntimeUnitTestToolkit.asmdef.meta
    │   │   │   │   ├── UnitTestRunner.cs
    │   │   │   │   └── UnitTestRunner.cs.meta
    │   │   │   ├── RuntimeUnitTestToolkit.meta
    │   │   │   ├── Scenes
    │   │   │   │   ├── EditorTest1.cs
    │   │   │   │   ├── EditorTest1.cs.meta
    │   │   │   │   ├── ExceptionExamples.cs
    │   │   │   │   ├── ExceptionExamples.cs.meta
    │   │   │   │   ├── ExceptionExamples.unity
    │   │   │   │   ├── ExceptionExamples.unity.meta
    │   │   │   │   ├── MiddlewareSample.cs
    │   │   │   │   ├── MiddlewareSample.cs.meta
    │   │   │   │   ├── SandboxMain.cs
    │   │   │   │   ├── SandboxMain.cs.meta
    │   │   │   │   ├── SandboxMain.unity
    │   │   │   │   └── SandboxMain.unity.meta
    │   │   │   ├── Scenes.meta
    │   │   │   ├── StreamingAssets
    │   │   │   │   ├── test.txt
    │   │   │   │   └── test.txt.meta
    │   │   │   ├── StreamingAssets.meta
    │   │   │   ├── TempAsm
    │   │   │   │   ├── FooMonoBehaviour.cs
    │   │   │   │   ├── FooMonoBehaviour.cs.meta
    │   │   │   │   ├── TempAsm.asmdef
    │   │   │   │   └── TempAsm.asmdef.meta
    │   │   │   ├── TempAsm.meta
    │   │   │   ├── Tests
    │   │   │   │   ├── AsyncOperationTest.cs
    │   │   │   │   ├── AsyncOperationTest.cs.meta
    │   │   │   │   ├── AsyncTest.cs
    │   │   │   │   ├── AsyncTest.cs.meta
    │   │   │   │   ├── CachelikeTest.cs
    │   │   │   │   ├── CachelikeTest.cs.meta
    │   │   │   │   ├── CoroutineToUniTaskTest.cs
    │   │   │   │   ├── CoroutineToUniTaskTest.cs.meta
    │   │   │   │   ├── DelayTest.cs
    │   │   │   │   ├── DelayTest.cs.meta
    │   │   │   │   ├── Editor
    │   │   │   │   │   ├── AsyncTestEditor.cs
    │   │   │   │   │   ├── AsyncTestEditor.cs.meta
    │   │   │   │   │   ├── RunTestEditor.cs
    │   │   │   │   │   ├── RunTestEditor.cs.meta
    │   │   │   │   │   ├── UniTask.Tests.Editor.asmdef
    │   │   │   │   │   ├── UniTask.Tests.Editor.asmdef.meta
    │   │   │   │   │   ├── WhenAnyTestEditor.cs
    │   │   │   │   │   └── WhenAnyTestEditor.cs.meta
    │   │   │   │   ├── Editor.meta
    │   │   │   │   ├── GenericsWhenAllAny.cs
    │   │   │   │   ├── GenericsWhenAllAny.cs.meta
    │   │   │   │   ├── PlayerLoopTimerTest.cs
    │   │   │   │   ├── PlayerLoopTimerTest.cs.meta
    │   │   │   │   ├── Preserve.cs
    │   │   │   │   ├── Preserve.cs.meta
    │   │   │   │   ├── Resources
    │   │   │   │   │   ├── sample_texture.png
    │   │   │   │   │   └── sample_texture.png.meta
    │   │   │   │   ├── Resources.meta
    │   │   │   │   ├── RunTest.cs
    │   │   │   │   ├── RunTest.cs.meta
    │   │   │   │   ├── Shims.cs
    │   │   │   │   ├── Shims.cs.meta
    │   │   │   │   ├── UniTask.Tests.asmdef
    │   │   │   │   ├── UniTask.Tests.asmdef.meta
    │   │   │   │   ├── WhenAnyTest.cs
    │   │   │   │   └── WhenAnyTest.cs.meta
    │   │   │   └── Tests.meta
    │   │   ├── ProjectSettings
    │   │   │   ├── AudioManager.asset
    │   │   │   ├── ClusterInputManager.asset
    │   │   │   ├── DynamicsManager.asset
    │   │   │   ├── EditorBuildSettings.asset
    │   │   │   ├── EditorSettings.asset
    │   │   │   ├── GraphicsSettings.asset
    │   │   │   ├── InputManager.asset
    │   │   │   ├── NavMeshAreas.asset
    │   │   │   ├── NetworkManager.asset
    │   │   │   ├── PackageManagerSettings.asset
    │   │   │   ├── Physics2DSettings.asset
    │   │   │   ├── PresetManager.asset
    │   │   │   ├── ProjectSettings.asset
    │   │   │   ├── ProjectVersion.txt
    │   │   │   ├── QualitySettings.asset
    │   │   │   ├── TagManager.asset
    │   │   │   ├── TimeManager.asset
    │   │   │   ├── UnityConnectSettings.asset
    │   │   │   ├── VersionControlSettings.asset
    │   │   │   ├── VFXManager.asset
    │   │   │   └── XRSettings.asset
    │   │   └── UserSettings
    │   │       └── EditorUserSettings.asset
    │   ├── UniTask.Analyzer
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── UniTaskAnalyzer.cs
    │   │   └── UniTask.Analyzer.csproj
    │   ├── UniTask.NetCore
    │   │   ├── Icon.png
    │   │   ├── NetCore
    │   │   │   ├── AsyncEnumerableExtensions.cs
    │   │   │   ├── UniTask.Delay.cs
    │   │   │   ├── UniTask.Run.cs
    │   │   │   └── UniTask.Yield.cs
    │   │   ├── opensource.snk
    │   │   └── UniTask.NetCore.csproj
    │   ├── UniTask.NetCoreSandbox
    │   │   ├── Program.cs
    │   │   └── UniTask.NetCoreSandbox.csproj
    │   └── UniTask.NetCoreTests
    │       ├── AsyncLazyTest.cs
    │       ├── AsyncReactivePropertyTest.cs
    │       ├── CancellationTokenTest.cs
    │       ├── ChannelTest.cs
    │       ├── CompletionSourceTest.cs
    │       ├── DeferTest.cs
    │       ├── Linq
    │       │   ├── Aggregate.cs
    │       │   ├── AllAny.cs
    │       │   ├── Concat.cs
    │       │   ├── Convert.cs
    │       │   ├── CreateTest.cs
    │       │   ├── _Exception.cs
    │       │   ├── Factory.cs
    │       │   ├── Filtering.cs
    │       │   ├── FirstLast.cs
    │       │   ├── Joins.cs
    │       │   ├── Merge.cs
    │       │   ├── Paging.cs
    │       │   ├── Projection.cs
    │       │   ├── PulbishTest.cs
    │       │   ├── QueueTest.cs
    │       │   ├── Sets.cs
    │       │   ├── Sort.cs
    │       │   └── TakeInfinityTest.cs
    │       ├── TaskBuilderCases.cs
    │       ├── TaskExtensionsTest.cs
    │       ├── TriggerEventTest.cs
    │       ├── UniTaskCompletionSourceTest.cs
    │       ├── UniTask.NetCoreTests.csproj
    │       └── WithCancellationTest.cs
    └── UniTask.NetCore.sln

37 directories, 503 files

标签: unity IT ty 源码 异步

实例下载地址

Unity提供高效的无分配异步/等待集成实例源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警