Showing preview only (825K chars total). Download the full file or copy to clipboard to get everything.
Repository: Fractural/GDTask
Branch: main
Commit: 7e0c911b16cc
Files: 127
Total size: 781.4 KB
Directory structure:
gitextract_fw_63qmu/
├── .github/
│ └── workflows/
│ └── deploy.yml
├── .gitignore
├── .gitmodules
├── GDTask.csproj
├── GDTask.sln
├── LICENSE.md
├── README.md
├── addons/
│ └── GDTask/
│ ├── AsyncLazy.cs
│ ├── AsyncLazy.cs.uid
│ ├── AsyncUnit.cs
│ ├── AsyncUnit.cs.uid
│ ├── Autoload/
│ │ ├── GDTaskPlayerLoopAutoload.cs
│ │ ├── GDTaskPlayerLoopAutoload.cs.uid
│ │ ├── ProcessListener.cs
│ │ └── ProcessListener.cs.uid
│ ├── CancellationTokenEqualityComparer.cs
│ ├── CancellationTokenEqualityComparer.cs.uid
│ ├── CancellationTokenExtensions.cs
│ ├── CancellationTokenExtensions.cs.uid
│ ├── CancellationTokenSourceExtensions.cs
│ ├── CancellationTokenSourceExtensions.cs.uid
│ ├── CompilerServices/
│ │ ├── AsyncGDTaskMethodBuilder.cs
│ │ ├── AsyncGDTaskMethodBuilder.cs.uid
│ │ ├── AsyncGDTaskVoidMethodBuilder.cs
│ │ ├── AsyncGDTaskVoidMethodBuilder.cs.uid
│ │ ├── StateMachineRunner.cs
│ │ └── StateMachineRunner.cs.uid
│ ├── GDTask.Delay.cs
│ ├── GDTask.Delay.cs.uid
│ ├── GDTask.Factory.cs
│ ├── GDTask.Factory.cs.uid
│ ├── GDTask.Run.cs
│ ├── GDTask.Run.cs.uid
│ ├── GDTask.Threading.cs
│ ├── GDTask.Threading.cs.uid
│ ├── GDTask.ToSignal.cs
│ ├── GDTask.ToSignal.cs.uid
│ ├── GDTask.WaitUntil.cs
│ ├── GDTask.WaitUntil.cs.uid
│ ├── GDTask.WhenAll.Generated.cs
│ ├── GDTask.WhenAll.Generated.cs.uid
│ ├── GDTask.WhenAll.cs
│ ├── GDTask.WhenAll.cs.uid
│ ├── GDTask.WhenAny.Generated.cs
│ ├── GDTask.WhenAny.Generated.cs.uid
│ ├── GDTask.WhenAny.cs
│ ├── GDTask.WhenAny.cs.uid
│ ├── GDTask.cs
│ ├── GDTask.cs.uid
│ ├── GDTaskCompletionSource.cs
│ ├── GDTaskCompletionSource.cs.uid
│ ├── GDTaskExtensions.Shorthand.cs
│ ├── GDTaskExtensions.Shorthand.cs.uid
│ ├── GDTaskExtensions.cs
│ ├── GDTaskExtensions.cs.uid
│ ├── GDTaskObservableExtensions.cs
│ ├── GDTaskObservableExtensions.cs.uid
│ ├── GDTaskScheduler.cs
│ ├── GDTaskScheduler.cs.uid
│ ├── GDTaskSynchronizationContext.cs
│ ├── GDTaskSynchronizationContext.cs.uid
│ ├── GDTaskVoid.cs
│ ├── GDTaskVoid.cs.uid
│ ├── IGDTaskSource.cs
│ ├── IGDTaskSource.cs.uid
│ ├── Internal/
│ │ ├── ArrayPool.cs
│ │ ├── ArrayPool.cs.uid
│ │ ├── ArrayPoolUtil.cs
│ │ ├── ArrayPoolUtil.cs.uid
│ │ ├── ArrayUtil.cs
│ │ ├── ArrayUtil.cs.uid
│ │ ├── ContinuationQueue.cs
│ │ ├── ContinuationQueue.cs.uid
│ │ ├── DiagnosticsExtensions.cs
│ │ ├── DiagnosticsExtensions.cs.uid
│ │ ├── Error.cs
│ │ ├── Error.cs.uid
│ │ ├── GodotEqualityComparer.cs
│ │ ├── GodotEqualityComparer.cs.uid
│ │ ├── MinimumQueue.cs
│ │ ├── MinimumQueue.cs.uid
│ │ ├── PlayerLoopRunner.cs
│ │ ├── PlayerLoopRunner.cs.uid
│ │ ├── PooledDelegate.cs
│ │ ├── PooledDelegate.cs.uid
│ │ ├── RuntimeHelpersAbstraction.cs
│ │ ├── RuntimeHelpersAbstraction.cs.uid
│ │ ├── StatePool.cs
│ │ ├── StatePool.cs.uid
│ │ ├── TaskTracker.cs
│ │ ├── TaskTracker.cs.uid
│ │ ├── ValueStopwatch.cs
│ │ ├── ValueStopwatch.cs.uid
│ │ ├── WeakDictionary.cs
│ │ └── WeakDictionary.cs.uid
│ ├── MoveNextSource.cs
│ ├── MoveNextSource.cs.uid
│ ├── PlayerLoopTimer.cs
│ ├── PlayerLoopTimer.cs.uid
│ ├── Progress.cs
│ ├── Progress.cs.uid
│ ├── TaskPool.cs
│ ├── TaskPool.cs.uid
│ ├── TimeoutController.cs
│ ├── TimeoutController.cs.uid
│ ├── TriggerEvent.cs
│ ├── TriggerEvent.cs.uid
│ └── Triggers/
│ ├── AsyncDestroyTrigger.cs
│ ├── AsyncDestroyTrigger.cs.uid
│ ├── AsyncEnterTreeTrigger.cs
│ ├── AsyncEnterTreeTrigger.cs.uid
│ ├── AsyncReadyTrigger.cs
│ ├── AsyncReadyTrigger.cs.uid
│ ├── AsyncTriggerBase.cs
│ ├── AsyncTriggerBase.cs.uid
│ ├── AsyncTriggerExtensions.cs
│ ├── AsyncTriggerExtensions.cs.uid
│ ├── NodeMessagesTriggers.cs
│ └── NodeMessagesTriggers.cs.uid
├── bootsplash.png.import
├── default_env.tres
├── icon.import
├── icon.png.import
├── project.godot
└── tests/
└── manual/
├── Test.cs
├── Test.cs.uid
└── Test.tscn
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/deploy.yml
================================================
name: 🚀 Deploy Release
on:
push:
branches:
- main
tags:
- "v*.*.*"
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
submodules: recursive
# Deploy to local repo
- name: Deploy to Release Branch
uses: s0/git-publish-subdir-action@develop
env:
REPO: self
BRANCH: release
FOLDER: addons/GDTask
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release
run: |
mkdir release
mv addons/GDTask release
pushd release
zip -r ../Release.zip *
popd
- name: Upload Release
uses: actions/upload-artifact@v4
with:
name: Release
path: release
- name: Tagged Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: Release.zip
================================================
FILE: .gitignore
================================================
# Godot 4+ specific ignores
.godot/
# Godot-specific ignores
.import/
export.cfg
export_presets.cfg
# Mono-specific ignores
.mono/
data_*/
# IntelliJ
.idea/
# VSCode Settings
.vscode/
# Visual studio
.vs/
Builds/
# Ignore stub bin and obj folders
bin/
obj/
# Tests
tests/results.xml
tests/metadata.json
# MacOS
.DS_Store
================================================
FILE: .gitmodules
================================================
================================================
FILE: GDTask.csproj
================================================
<Project Sdk="Godot.NET.Sdk/4.4.0">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
</Project>
================================================
FILE: GDTask.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.10.35027.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GDTask", "GDTask.csproj", "{CEF6A453-1034-46B7-9617-C94E19891B46}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
ExportDebug|Any CPU = ExportDebug|Any CPU
ExportRelease|Any CPU = ExportRelease|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CEF6A453-1034-46B7-9617-C94E19891B46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CEF6A453-1034-46B7-9617-C94E19891B46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CEF6A453-1034-46B7-9617-C94E19891B46}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
{CEF6A453-1034-46B7-9617-C94E19891B46}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
{CEF6A453-1034-46B7-9617-C94E19891B46}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
{CEF6A453-1034-46B7-9617-C94E19891B46}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {688C3662-0D40-4D17-8576-4FA4A992B65A}
EndGlobalSection
EndGlobal
================================================
FILE: LICENSE.md
================================================
The MIT License (MIT)
Copyright (c) 2019 Atlinx, Yoshifumi Kawai / Cysharp, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# ⚠️ Superceded by [GDTask.Nuget](https://github.com/Delsin-Yu/GDTask.Nuget)
This addon has been superceded by [Delsin-Yu's GDTask.Nuget](https://github.com/Delsin-Yu/GDTask.Nuget) package, which is accessible from the Nuget package manager. Their package also contains useful profiling tools for debugging GDTasks.
# GDTask ✅

> [!Note]
>
> This branch is for the Godot 4.4 version of the addon.
> You can download the Godot 3.x version from the 3.x branch.
Adds async/await features in Godot for easier async coding.
Based on code from [Cysharp's UniTask library for Unity](https://github.com/Cysharp/UniTask).
```CSharp
using Fractural.Tasks;
public Test : Node
{
[Signal]
public delegate void MySignalHandler(int number, bool boolean);
public override _Ready()
{
// Running a task from a non-async method.
Run().Forget();
}
public async GDTaskVoid Run()
{
await GDTask.DelayFrame(100);
// Waiting some amount of time
// Note that these delays are paused when the game is paused
await GDTask.Delay(TimeSpan.FromSeconds(10));
await GDTask.Delay(TimeSpan.FromSeconds(10), PlayerLoopTiming.Process);
await GDTask.Delay(TimeSpan.FromSeconds(10), PlayerLoopTiming.PhysicsProcess);
// Waiting some amount of milliseconds
await GDTask.Delay(1000);
// Waiting some amount of milliseconds, regardless of whether the game is paused
await GDTask.Delay(TimeSpan.FromSeconds(10), PlayerLoopTiming.PauseProcess);
await GDTask.Delay(TimeSpan.FromSeconds(10), PlayerLoopTiming.PausePhysicsProcess);
// Awaiting for a signal
WaitAndEmitMySignal(TimeSpan.FromSeconds(2)).Forget();
var signalResults = await GDTask.ToSignal(this, nameof(MySignal));
// signalResults = [10, true]
// Cancellable awaiting a signal
var cts = new CancellationTokenSource();
WaitAndEmitMySignal(TimeSpan.FromSeconds(2)).Forget();
WaitAndCancelToken(TimeSpan.FromSeconds(1), cts).Forget();
try
{
var signalResults = await GDTask.ToSignal(this, nameof(MySignal), cts.Token);
}
catch (OperationCanceledException _)
{
GD.Print("Awaiting MySignal cancelled!");
}
// Waiting a single frame
await GDTask.Yield();
await GDTask.NextFrame();
await GDTask.WaitForEndOfFrame();
// Waiting for specific lifetime call
await GDTask.WaitForPhysicsProcess();
// Cancellation of a GDTask
var cts = new CancellationTokenSource();
CancellableReallyLongTask(cts.Token).Forget();
await GDTask.Delay(TimeSpan.FromSeconds(3));
cts.Cancel();
// Returning a value from a GDTask
string result = await RunWithResult();
return result + " with additional text";
}
public async GDTask<string> RunWithResult()
{
await GDTask.Delay(TimeSpan.FromSeconds(3));
return "A result string";
}
public async GDTaskVoid ReallyLongTask(CancellationToken cancellationToken)
{
GD.Print("Starting long task.");
await GDTask.Delay(TimeSpan.FromSeconds(1000000), cancellationToken: cancellationToken);
GD.Print("Finished long task.");
}
public async GDTaskVoid WaitAndEmitMySignal(TimeSpan delay)
{
await GDTask.Delay(delay);
EmitSignal(nameof(MySignal), 10, true);
}
public async GDTaskVoid WaitAndCancelToken(TimeSpan delay, CancellationTokenSource cts)
{
await GDTask.Delay(delay);
cts.Cancel();
}
}
```
## Installation
Manual
1. Download the repository
2. Move the `addons/GDTask` folder into `addons/GDTask`
Git Submodules
1. Make sure your project has a git repo initialized
2. Run
``` bash
git submodule add -b release https://github.com/fractural/GDTask.git addons/GDTask
```
3. Add `addons/GDTask/Autoload/GDTaskPlayerLoopAutoload` as an autoload
================================================
FILE: addons/GDTask/AsyncLazy.cs
================================================
using System;
using System.Threading;
namespace Fractural.Tasks
{
public partial class AsyncLazy
{
static Action<object> continuation = SetCompletionSource;
Func<GDTask> taskFactory;
GDTaskCompletionSource completionSource;
GDTask.Awaiter awaiter;
object syncLock;
bool initialized;
public AsyncLazy(Func<GDTask> taskFactory)
{
this.taskFactory = taskFactory;
this.completionSource = new GDTaskCompletionSource();
this.syncLock = new object();
this.initialized = false;
}
internal AsyncLazy(GDTask task)
{
this.taskFactory = null;
this.completionSource = new GDTaskCompletionSource();
this.syncLock = null;
this.initialized = true;
var awaiter = task.GetAwaiter();
if (awaiter.IsCompleted)
{
SetCompletionSource(awaiter);
}
else
{
this.awaiter = awaiter;
awaiter.SourceOnCompleted(continuation, this);
}
}
public GDTask Task
{
get
{
EnsureInitialized();
return completionSource.Task;
}
}
public GDTask.Awaiter GetAwaiter() => Task.GetAwaiter();
void EnsureInitialized()
{
if (Volatile.Read(ref initialized))
{
return;
}
EnsureInitializedCore();
}
void EnsureInitializedCore()
{
lock (syncLock)
{
if (!Volatile.Read(ref initialized))
{
var f = Interlocked.Exchange(ref taskFactory, null);
if (f != null)
{
var task = f();
var awaiter = task.GetAwaiter();
if (awaiter.IsCompleted)
{
SetCompletionSource(awaiter);
}
else
{
this.awaiter = awaiter;
awaiter.SourceOnCompleted(continuation, this);
}
Volatile.Write(ref initialized, true);
}
}
}
}
void SetCompletionSource(in GDTask.Awaiter awaiter)
{
try
{
awaiter.GetResult();
completionSource.TrySetResult();
}
catch (Exception ex)
{
completionSource.TrySetException(ex);
}
}
static void SetCompletionSource(object state)
{
var self = (AsyncLazy)state;
try
{
self.awaiter.GetResult();
self.completionSource.TrySetResult();
}
catch (Exception ex)
{
self.completionSource.TrySetException(ex);
}
finally
{
self.awaiter = default;
}
}
}
public partial class AsyncLazy<T>
{
static Action<object> continuation = SetCompletionSource;
Func<GDTask<T>> taskFactory;
GDTaskCompletionSource<T> completionSource;
GDTask<T>.Awaiter awaiter;
object syncLock;
bool initialized;
public AsyncLazy(Func<GDTask<T>> taskFactory)
{
this.taskFactory = taskFactory;
this.completionSource = new GDTaskCompletionSource<T>();
this.syncLock = new object();
this.initialized = false;
}
internal AsyncLazy(GDTask<T> task)
{
this.taskFactory = null;
this.completionSource = new GDTaskCompletionSource<T>();
this.syncLock = null;
this.initialized = true;
var awaiter = task.GetAwaiter();
if (awaiter.IsCompleted)
{
SetCompletionSource(awaiter);
}
else
{
this.awaiter = awaiter;
awaiter.SourceOnCompleted(continuation, this);
}
}
public GDTask<T> Task
{
get
{
EnsureInitialized();
return completionSource.Task;
}
}
public GDTask<T>.Awaiter GetAwaiter() => Task.GetAwaiter();
void EnsureInitialized()
{
if (Volatile.Read(ref initialized))
{
return;
}
EnsureInitializedCore();
}
void EnsureInitializedCore()
{
lock (syncLock)
{
if (!Volatile.Read(ref initialized))
{
var f = Interlocked.Exchange(ref taskFactory, null);
if (f != null)
{
var task = f();
var awaiter = task.GetAwaiter();
if (awaiter.IsCompleted)
{
SetCompletionSource(awaiter);
}
else
{
this.awaiter = awaiter;
awaiter.SourceOnCompleted(continuation, this);
}
Volatile.Write(ref initialized, true);
}
}
}
}
void SetCompletionSource(in GDTask<T>.Awaiter awaiter)
{
try
{
var result = awaiter.GetResult();
completionSource.TrySetResult(result);
}
catch (Exception ex)
{
completionSource.TrySetException(ex);
}
}
static void SetCompletionSource(object state)
{
var self = (AsyncLazy<T>)state;
try
{
var result = self.awaiter.GetResult();
self.completionSource.TrySetResult(result);
}
catch (Exception ex)
{
self.completionSource.TrySetException(ex);
}
finally
{
self.awaiter = default;
}
}
}
}
================================================
FILE: addons/GDTask/AsyncLazy.cs.uid
================================================
uid://cnn3liy4tgvma
================================================
FILE: addons/GDTask/AsyncUnit.cs
================================================
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or
using System;
namespace Fractural.Tasks
{
public readonly struct AsyncUnit : IEquatable<AsyncUnit>
{
public static readonly AsyncUnit Default = new AsyncUnit();
public override int GetHashCode()
{
return 0;
}
public bool Equals(AsyncUnit other)
{
return true;
}
public override string ToString()
{
return "()";
}
}
}
================================================
FILE: addons/GDTask/AsyncUnit.cs.uid
================================================
uid://bjl72gsi0q5ty
================================================
FILE: addons/GDTask/Autoload/GDTaskPlayerLoopAutoload.cs
================================================
using Fractural.Tasks.Internal;
using Godot;
using System;
namespace Fractural.Tasks
{
public static class GDTaskLoopRunners
{
public struct GDTaskLoopRunnerProcess { };
public struct GDTaskLoopRunnerPhysicsProcess { };
}
public enum PlayerLoopTiming
{
Process = 0,
PhysicsProcess = 1,
PauseProcess = 2,
PausePhysicsProcess = 3,
}
public interface IPlayerLoopItem
{
bool MoveNext();
}
/// <summary>
/// Singleton that forwards Godot calls and values to GDTasks.
/// </summary>
public partial class GDTaskPlayerLoopAutoload : Node
{
public static int MainThreadId => Global.mainThreadId;
public static bool IsMainThread => System.Threading.Thread.CurrentThread.ManagedThreadId == Global.mainThreadId;
public static void AddAction(PlayerLoopTiming timing, IPlayerLoopItem action) => Global.LocalAddAction(timing, action);
public static void ThrowInvalidLoopTiming(PlayerLoopTiming playerLoopTiming) => throw new InvalidOperationException("Target playerLoopTiming is not injected. Please check PlayerLoopHelper.Initialize. PlayerLoopTiming:" + playerLoopTiming);
public static void AddContinuation(PlayerLoopTiming timing, Action continuation) => Global.LocalAddContinuation(timing, continuation);
public void LocalAddAction(PlayerLoopTiming timing, IPlayerLoopItem action)
{
var runner = runners[(int)timing];
if (runner == null)
{
ThrowInvalidLoopTiming(timing);
}
runner.AddAction(action);
}
// NOTE: Continuation means a asynchronous task invoked by another task after the other task finishes.
public void LocalAddContinuation(PlayerLoopTiming timing, Action continuation)
{
var q = yielders[(int)timing];
if (q == null)
{
ThrowInvalidLoopTiming(timing);
}
q.Enqueue(continuation);
}
public static GDTaskPlayerLoopAutoload Global
{
get
{
if (s_Global != null) return s_Global;
var newInstance = new GDTaskPlayerLoopAutoload();
newInstance.Initialize();
var currentScene = ((SceneTree)Engine.GetMainLoop()).CurrentScene;
currentScene.AddChild(newInstance);
currentScene.MoveChild(newInstance, 0);
newInstance.Name = "GDTaskPlayerLoopAutoload";
s_Global = newInstance;
return s_Global;
}
}
public double DeltaTime => GetProcessDeltaTime();
public double PhysicsDeltaTime => GetPhysicsProcessDeltaTime();
private static GDTaskPlayerLoopAutoload s_Global;
private int mainThreadId;
private ContinuationQueue[] yielders;
private PlayerLoopRunner[] runners;
private ProcessListener processListener;
public override void _EnterTree()
{
if (s_Global == null)
{
Initialize();
s_Global = this;
return;
}
QueueFree();
}
private void Initialize()
{
ProcessMode = ProcessModeEnum.Pausable;
mainThreadId = System.Threading.Thread.CurrentThread.ManagedThreadId;
yielders = new[] {
new ContinuationQueue(PlayerLoopTiming.Process),
new ContinuationQueue(PlayerLoopTiming.PhysicsProcess),
new ContinuationQueue(PlayerLoopTiming.PauseProcess),
new ContinuationQueue(PlayerLoopTiming.PausePhysicsProcess),
};
runners = new[] {
new PlayerLoopRunner(PlayerLoopTiming.Process),
new PlayerLoopRunner(PlayerLoopTiming.PhysicsProcess),
new PlayerLoopRunner(PlayerLoopTiming.PauseProcess),
new PlayerLoopRunner(PlayerLoopTiming.PausePhysicsProcess),
};
processListener = new ProcessListener();
AddChild(processListener);
processListener.ProcessMode = ProcessModeEnum.Always;
processListener.OnProcess += PauseProcess;
processListener.OnPhysicsProcess += PausePhysicsProcess;
}
public override void _Notification(int what)
{
if (what == NotificationPredelete)
{
if (Global == this)
s_Global = null;
if (yielders != null)
{
foreach (var yielder in yielders)
yielder.Clear();
foreach (var runner in runners)
runner.Clear();
}
}
}
public override void _Process(double delta)
{
yielders[(int)PlayerLoopTiming.Process].Run();
runners[(int)PlayerLoopTiming.Process].Run();
}
public override void _PhysicsProcess(double delta)
{
yielders[(int)PlayerLoopTiming.PhysicsProcess].Run();
runners[(int)PlayerLoopTiming.PhysicsProcess].Run();
}
private void PauseProcess(double delta)
{
yielders[(int)PlayerLoopTiming.PauseProcess].Run();
runners[(int)PlayerLoopTiming.PauseProcess].Run();
}
private void PausePhysicsProcess(double delta)
{
yielders[(int)PlayerLoopTiming.PausePhysicsProcess].Run();
runners[(int)PlayerLoopTiming.PausePhysicsProcess].Run();
}
}
}
================================================
FILE: addons/GDTask/Autoload/GDTaskPlayerLoopAutoload.cs.uid
================================================
uid://b34v2b358nj4p
================================================
FILE: addons/GDTask/Autoload/ProcessListener.cs
================================================
using Godot;
using System;
namespace Fractural.Tasks
{
public partial class ProcessListener : Node
{
public event Action<double> OnProcess;
public event Action<double> OnPhysicsProcess;
public override void _Process(double delta)
{
OnProcess?.Invoke(delta);
}
public override void _PhysicsProcess(double delta)
{
OnPhysicsProcess?.Invoke(delta);
}
}
}
================================================
FILE: addons/GDTask/Autoload/ProcessListener.cs.uid
================================================
uid://3h6xpadx1svw
================================================
FILE: addons/GDTask/CancellationTokenEqualityComparer.cs
================================================
using System.Collections.Generic;
using System.Threading;
namespace Fractural.Tasks
{
public partial class CancellationTokenEqualityComparer : IEqualityComparer<CancellationToken>
{
public static readonly IEqualityComparer<CancellationToken> Default = new CancellationTokenEqualityComparer();
public bool Equals(CancellationToken x, CancellationToken y)
{
return x.Equals(y);
}
public int GetHashCode(CancellationToken obj)
{
return obj.GetHashCode();
}
}
}
================================================
FILE: addons/GDTask/CancellationTokenEqualityComparer.cs.uid
================================================
uid://dkqkuimd6xnj6
================================================
FILE: addons/GDTask/CancellationTokenExtensions.cs
================================================
using System;
using System.Runtime.CompilerServices;
using System.Threading;
namespace Fractural.Tasks
{
public static class CancellationTokenExtensions
{
static readonly Action<object> cancellationTokenCallback = Callback;
static readonly Action<object> disposeCallback = DisposeCallback;
public static CancellationToken ToCancellationToken(this GDTask task)
{
var cts = new CancellationTokenSource();
ToCancellationTokenCore(task, cts).Forget();
return cts.Token;
}
public static CancellationToken ToCancellationToken(this GDTask task, CancellationToken linkToken)
{
if (linkToken.IsCancellationRequested)
{
return linkToken;
}
if (!linkToken.CanBeCanceled)
{
return ToCancellationToken(task);
}
var cts = CancellationTokenSource.CreateLinkedTokenSource(linkToken);
ToCancellationTokenCore(task, cts).Forget();
return cts.Token;
}
public static CancellationToken ToCancellationToken<T>(this GDTask<T> task)
{
return ToCancellationToken(task.AsGDTask());
}
public static CancellationToken ToCancellationToken<T>(this GDTask<T> task, CancellationToken linkToken)
{
return ToCancellationToken(task.AsGDTask(), linkToken);
}
static async GDTaskVoid ToCancellationTokenCore(GDTask task, CancellationTokenSource cts)
{
try
{
await task;
}
catch (Exception ex)
{
GDTaskScheduler.PublishUnobservedTaskException(ex);
}
cts.Cancel();
cts.Dispose();
}
public static (GDTask, CancellationTokenRegistration) ToGDTask(this CancellationToken cancellationToken)
{
if (cancellationToken.IsCancellationRequested)
{
return (GDTask.FromCanceled(cancellationToken), default(CancellationTokenRegistration));
}
var promise = new GDTaskCompletionSource();
return (promise.Task, cancellationToken.RegisterWithoutCaptureExecutionContext(cancellationTokenCallback, promise));
}
static void Callback(object state)
{
var promise = (GDTaskCompletionSource)state;
promise.TrySetResult();
}
public static CancellationTokenAwaitable WaitUntilCanceled(this CancellationToken cancellationToken)
{
return new CancellationTokenAwaitable(cancellationToken);
}
public static CancellationTokenRegistration RegisterWithoutCaptureExecutionContext(this CancellationToken cancellationToken, Action callback)
{
var restoreFlow = false;
if (!ExecutionContext.IsFlowSuppressed())
{
ExecutionContext.SuppressFlow();
restoreFlow = true;
}
try
{
return cancellationToken.Register(callback, false);
}
finally
{
if (restoreFlow)
{
ExecutionContext.RestoreFlow();
}
}
}
public static CancellationTokenRegistration RegisterWithoutCaptureExecutionContext(this CancellationToken cancellationToken, Action<object> callback, object state)
{
var restoreFlow = false;
if (!ExecutionContext.IsFlowSuppressed())
{
ExecutionContext.SuppressFlow();
restoreFlow = true;
}
try
{
return cancellationToken.Register(callback, state, false);
}
finally
{
if (restoreFlow)
{
ExecutionContext.RestoreFlow();
}
}
}
public static CancellationTokenRegistration AddTo(this IDisposable disposable, CancellationToken cancellationToken)
{
return cancellationToken.RegisterWithoutCaptureExecutionContext(disposeCallback, disposable);
}
static void DisposeCallback(object state)
{
var d = (IDisposable)state;
d.Dispose();
}
}
public struct CancellationTokenAwaitable
{
CancellationToken cancellationToken;
public CancellationTokenAwaitable(CancellationToken cancellationToken)
{
this.cancellationToken = cancellationToken;
}
public Awaiter GetAwaiter()
{
return new Awaiter(cancellationToken);
}
public struct Awaiter : ICriticalNotifyCompletion
{
CancellationToken cancellationToken;
public Awaiter(CancellationToken cancellationToken)
{
this.cancellationToken = cancellationToken;
}
public bool IsCompleted => !cancellationToken.CanBeCanceled || cancellationToken.IsCancellationRequested;
public void GetResult()
{
}
public void OnCompleted(Action continuation)
{
UnsafeOnCompleted(continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
cancellationToken.RegisterWithoutCaptureExecutionContext(continuation);
}
}
}
}
================================================
FILE: addons/GDTask/CancellationTokenExtensions.cs.uid
================================================
uid://bvmag4mxjvgn4
================================================
FILE: addons/GDTask/CancellationTokenSourceExtensions.cs
================================================
using System.Threading;
using Fractural.Tasks.Triggers;
using System;
using Fractural.Tasks.Internal;
using Godot;
namespace Fractural.Tasks
{
public static partial class CancellationTokenSourceExtensions
{
readonly static Action<object> CancelCancellationTokenSourceStateDelegate = new Action<object>(CancelCancellationTokenSourceState);
static void CancelCancellationTokenSourceState(object state)
{
var cts = (CancellationTokenSource)state;
cts.Cancel();
}
public static IDisposable CancelAfterSlim(this CancellationTokenSource cts, int millisecondsDelay, DelayType delayType = DelayType.DeltaTime, PlayerLoopTiming delayTiming = PlayerLoopTiming.Process)
{
return CancelAfterSlim(cts, TimeSpan.FromMilliseconds(millisecondsDelay), delayType, delayTiming);
}
public static IDisposable CancelAfterSlim(this CancellationTokenSource cts, TimeSpan delayTimeSpan, DelayType delayType = DelayType.DeltaTime, PlayerLoopTiming delayTiming = PlayerLoopTiming.Process)
{
return PlayerLoopTimer.StartNew(delayTimeSpan, false, delayType, delayTiming, cts.Token, CancelCancellationTokenSourceStateDelegate, cts);
}
public static void RegisterRaiseCancelOnDestroy(this CancellationTokenSource cts, Node node)
{
var trigger = node.GetAsyncDestroyTrigger();
trigger.CancellationToken.RegisterWithoutCaptureExecutionContext(CancelCancellationTokenSourceStateDelegate, cts);
}
}
}
================================================
FILE: addons/GDTask/CancellationTokenSourceExtensions.cs.uid
================================================
uid://u8ib13lqamfi
================================================
FILE: addons/GDTask/CompilerServices/AsyncGDTaskMethodBuilder.cs
================================================
using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Fractural.Tasks.CompilerServices
{
[StructLayout(LayoutKind.Auto)]
public struct AsyncGDTaskMethodBuilder
{
IStateMachineRunnerPromise runnerPromise;
Exception ex;
// 1. Static Create method.
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static AsyncGDTaskMethodBuilder Create()
{
return default;
}
// 2. TaskLike Task property.
public GDTask Task
{
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
if (runnerPromise != null)
{
return runnerPromise.Task;
}
else if (ex != null)
{
return GDTask.FromException(ex);
}
else
{
return GDTask.CompletedTask;
}
}
}
// 3. SetException
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SetException(Exception exception)
{
if (runnerPromise == null)
{
ex = exception;
}
else
{
runnerPromise.SetException(exception);
}
}
// 4. SetResult
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SetResult()
{
if (runnerPromise != null)
{
runnerPromise.SetResult();
}
}
// 5. AwaitOnCompleted
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : INotifyCompletion
where TStateMachine : IAsyncStateMachine
{
if (runnerPromise == null)
{
AsyncGDTask<TStateMachine>.SetStateMachine(ref stateMachine, ref runnerPromise);
}
awaiter.OnCompleted(runnerPromise.MoveNext);
}
// 6. AwaitUnsafeOnCompleted
[DebuggerHidden]
[SecuritySafeCritical]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : ICriticalNotifyCompletion
where TStateMachine : IAsyncStateMachine
{
if (runnerPromise == null)
{
AsyncGDTask<TStateMachine>.SetStateMachine(ref stateMachine, ref runnerPromise);
}
awaiter.UnsafeOnCompleted(runnerPromise.MoveNext);
}
// 7. Start
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Start<TStateMachine>(ref TStateMachine stateMachine)
where TStateMachine : IAsyncStateMachine
{
stateMachine.MoveNext();
}
// 8. SetStateMachine
[DebuggerHidden]
public void SetStateMachine(IAsyncStateMachine stateMachine)
{
// don't use boxed stateMachine.
}
#if DEBUG
// Important for IDE debugger.
object debuggingId;
private object ObjectIdForDebugger
{
get
{
if (debuggingId == null)
{
debuggingId = new object();
}
return debuggingId;
}
}
#endif
}
[StructLayout(LayoutKind.Auto)]
public struct AsyncGDTaskMethodBuilder<T>
{
IStateMachineRunnerPromise<T> runnerPromise;
Exception ex;
T result;
// 1. Static Create method.
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static AsyncGDTaskMethodBuilder<T> Create()
{
return default;
}
// 2. TaskLike Task property.
public GDTask<T> Task
{
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
if (runnerPromise != null)
{
return runnerPromise.Task;
}
else if (ex != null)
{
return GDTask.FromException<T>(ex);
}
else
{
return GDTask.FromResult(result);
}
}
}
// 3. SetException
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SetException(Exception exception)
{
if (runnerPromise == null)
{
ex = exception;
}
else
{
runnerPromise.SetException(exception);
}
}
// 4. SetResult
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SetResult(T result)
{
if (runnerPromise == null)
{
this.result = result;
}
else
{
runnerPromise.SetResult(result);
}
}
// 5. AwaitOnCompleted
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : INotifyCompletion
where TStateMachine : IAsyncStateMachine
{
if (runnerPromise == null)
{
AsyncGDTask<TStateMachine, T>.SetStateMachine(ref stateMachine, ref runnerPromise);
}
awaiter.OnCompleted(runnerPromise.MoveNext);
}
// 6. AwaitUnsafeOnCompleted
[DebuggerHidden]
[SecuritySafeCritical]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : ICriticalNotifyCompletion
where TStateMachine : IAsyncStateMachine
{
if (runnerPromise == null)
{
AsyncGDTask<TStateMachine, T>.SetStateMachine(ref stateMachine, ref runnerPromise);
}
awaiter.UnsafeOnCompleted(runnerPromise.MoveNext);
}
// 7. Start
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Start<TStateMachine>(ref TStateMachine stateMachine)
where TStateMachine : IAsyncStateMachine
{
stateMachine.MoveNext();
}
// 8. SetStateMachine
[DebuggerHidden]
public void SetStateMachine(IAsyncStateMachine stateMachine)
{
// don't use boxed stateMachine.
}
#if DEBUG
// Important for IDE debugger.
object debuggingId;
private object ObjectIdForDebugger
{
get
{
if (debuggingId == null)
{
debuggingId = new object();
}
return debuggingId;
}
}
#endif
}
}
================================================
FILE: addons/GDTask/CompilerServices/AsyncGDTaskMethodBuilder.cs.uid
================================================
uid://6mv8w57jlsg3
================================================
FILE: addons/GDTask/CompilerServices/AsyncGDTaskVoidMethodBuilder.cs
================================================
using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
namespace Fractural.Tasks.CompilerServices
{
[StructLayout(LayoutKind.Auto)]
public struct AsyncGDTaskVoidMethodBuilder
{
IStateMachineRunner runner;
// 1. Static Create method.
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static AsyncGDTaskVoidMethodBuilder Create()
{
return default;
}
// 2. TaskLike Task property(void)
public GDTaskVoid Task
{
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return default;
}
}
// 3. SetException
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SetException(Exception exception)
{
// runner is finished, return first.
if (runner != null)
{
runner.Return();
runner = null;
}
GDTaskScheduler.PublishUnobservedTaskException(exception);
}
// 4. SetResult
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SetResult()
{
// runner is finished, return.
if (runner != null)
{
runner.Return();
runner = null;
}
}
// 5. AwaitOnCompleted
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : INotifyCompletion
where TStateMachine : IAsyncStateMachine
{
if (runner == null)
{
AsyncGDTaskVoid<TStateMachine>.SetStateMachine(ref stateMachine, ref runner);
}
awaiter.OnCompleted(runner.MoveNext);
}
// 6. AwaitUnsafeOnCompleted
[DebuggerHidden]
[SecuritySafeCritical]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : ICriticalNotifyCompletion
where TStateMachine : IAsyncStateMachine
{
if (runner == null)
{
AsyncGDTaskVoid<TStateMachine>.SetStateMachine(ref stateMachine, ref runner);
}
awaiter.UnsafeOnCompleted(runner.MoveNext);
}
// 7. Start
[DebuggerHidden]
public void Start<TStateMachine>(ref TStateMachine stateMachine)
where TStateMachine : IAsyncStateMachine
{
stateMachine.MoveNext();
}
// 8. SetStateMachine
[DebuggerHidden]
public void SetStateMachine(IAsyncStateMachine stateMachine)
{
// don't use boxed stateMachine.
}
#if DEBUG
// Important for IDE debugger.
object debuggingId;
private object ObjectIdForDebugger
{
get
{
if (debuggingId == null)
{
debuggingId = new object();
}
return debuggingId;
}
}
#endif
}
}
================================================
FILE: addons/GDTask/CompilerServices/AsyncGDTaskVoidMethodBuilder.cs.uid
================================================
uid://di85mfhei8bs7
================================================
FILE: addons/GDTask/CompilerServices/StateMachineRunner.cs
================================================
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Fractural.Tasks.CompilerServices
{
internal interface IStateMachineRunner
{
Action MoveNext { get; }
void Return();
Action ReturnAction { get; }
}
internal interface IStateMachineRunnerPromise : IGDTaskSource
{
Action MoveNext { get; }
GDTask Task { get; }
void SetResult();
void SetException(Exception exception);
}
internal interface IStateMachineRunnerPromise<T> : IGDTaskSource<T>
{
Action MoveNext { get; }
GDTask<T> Task { get; }
void SetResult(T result);
void SetException(Exception exception);
}
internal static class StateMachineUtility
{
// Get AsyncStateMachine internal state to check IL2CPP bug
public static int GetState(IAsyncStateMachine stateMachine)
{
var info = stateMachine.GetType().GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)
.First(x => x.Name.EndsWith("__state"));
return (int)info.GetValue(stateMachine);
}
}
internal sealed class AsyncGDTaskVoid<TStateMachine> : IStateMachineRunner, ITaskPoolNode<AsyncGDTaskVoid<TStateMachine>>, IGDTaskSource
where TStateMachine : IAsyncStateMachine
{
static TaskPool<AsyncGDTaskVoid<TStateMachine>> pool;
public Action ReturnAction { get; }
TStateMachine stateMachine;
public Action MoveNext { get; }
public AsyncGDTaskVoid()
{
MoveNext = Run;
}
public static void SetStateMachine(ref TStateMachine stateMachine, ref IStateMachineRunner runnerFieldRef)
{
if (!pool.TryPop(out var result))
{
result = new AsyncGDTaskVoid<TStateMachine>();
}
TaskTracker.TrackActiveTask(result, 3);
runnerFieldRef = result; // set runner before copied.
result.stateMachine = stateMachine; // copy struct StateMachine(in release build).
}
static AsyncGDTaskVoid()
{
TaskPool.RegisterSizeGetter(typeof(AsyncGDTaskVoid<TStateMachine>), () => pool.Size);
}
AsyncGDTaskVoid<TStateMachine> nextNode;
public ref AsyncGDTaskVoid<TStateMachine> NextNode => ref nextNode;
public void Return()
{
TaskTracker.RemoveTracking(this);
stateMachine = default;
pool.TryPush(this);
}
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
void Run()
{
stateMachine.MoveNext();
}
// dummy interface implementation for TaskTracker.
GDTaskStatus IGDTaskSource.GetStatus(short token)
{
return GDTaskStatus.Pending;
}
GDTaskStatus IGDTaskSource.UnsafeGetStatus()
{
return GDTaskStatus.Pending;
}
void IGDTaskSource.OnCompleted(Action<object> continuation, object state, short token)
{
}
void IGDTaskSource.GetResult(short token)
{
}
}
internal sealed class AsyncGDTask<TStateMachine> : IStateMachineRunnerPromise, IGDTaskSource, ITaskPoolNode<AsyncGDTask<TStateMachine>>
where TStateMachine : IAsyncStateMachine
{
static TaskPool<AsyncGDTask<TStateMachine>> pool;
public Action MoveNext { get; }
TStateMachine stateMachine;
GDTaskCompletionSourceCore<AsyncUnit> core;
AsyncGDTask()
{
MoveNext = Run;
}
public static void SetStateMachine(ref TStateMachine stateMachine, ref IStateMachineRunnerPromise runnerPromiseFieldRef)
{
if (!pool.TryPop(out var result))
{
result = new AsyncGDTask<TStateMachine>();
}
TaskTracker.TrackActiveTask(result, 3);
runnerPromiseFieldRef = result; // set runner before copied.
result.stateMachine = stateMachine; // copy struct StateMachine(in release build).
}
AsyncGDTask<TStateMachine> nextNode;
public ref AsyncGDTask<TStateMachine> NextNode => ref nextNode;
static AsyncGDTask()
{
TaskPool.RegisterSizeGetter(typeof(AsyncGDTask<TStateMachine>), () => pool.Size);
}
void Return()
{
TaskTracker.RemoveTracking(this);
core.Reset();
stateMachine = default;
pool.TryPush(this);
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
stateMachine = default;
return pool.TryPush(this);
}
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
void Run()
{
stateMachine.MoveNext();
}
public GDTask Task
{
[DebuggerHidden]
get
{
return new GDTask(this, core.Version);
}
}
[DebuggerHidden]
public void SetResult()
{
core.TrySetResult(AsyncUnit.Default);
}
[DebuggerHidden]
public void SetException(Exception exception)
{
core.TrySetException(exception);
}
[DebuggerHidden]
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
[DebuggerHidden]
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
[DebuggerHidden]
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
[DebuggerHidden]
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
internal sealed class AsyncGDTask<TStateMachine, T> : IStateMachineRunnerPromise<T>, IGDTaskSource<T>, ITaskPoolNode<AsyncGDTask<TStateMachine, T>>
where TStateMachine : IAsyncStateMachine
{
static TaskPool<AsyncGDTask<TStateMachine, T>> pool;
public Action MoveNext { get; }
TStateMachine stateMachine;
GDTaskCompletionSourceCore<T> core;
AsyncGDTask()
{
MoveNext = Run;
}
public static void SetStateMachine(ref TStateMachine stateMachine, ref IStateMachineRunnerPromise<T> runnerPromiseFieldRef)
{
if (!pool.TryPop(out var result))
{
result = new AsyncGDTask<TStateMachine, T>();
}
TaskTracker.TrackActiveTask(result, 3);
runnerPromiseFieldRef = result; // set runner before copied.
result.stateMachine = stateMachine; // copy struct StateMachine(in release build).
}
AsyncGDTask<TStateMachine, T> nextNode;
public ref AsyncGDTask<TStateMachine, T> NextNode => ref nextNode;
static AsyncGDTask()
{
TaskPool.RegisterSizeGetter(typeof(AsyncGDTask<TStateMachine, T>), () => pool.Size);
}
void Return()
{
TaskTracker.RemoveTracking(this);
core.Reset();
stateMachine = default;
pool.TryPush(this);
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
stateMachine = default;
return pool.TryPush(this);
}
[DebuggerHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
void Run()
{
stateMachine.MoveNext();
}
public GDTask<T> Task
{
[DebuggerHidden]
get
{
return new GDTask<T>(this, core.Version);
}
}
[DebuggerHidden]
public void SetResult(T result)
{
core.TrySetResult(result);
}
[DebuggerHidden]
public void SetException(Exception exception)
{
core.TrySetException(exception);
}
[DebuggerHidden]
public T GetResult(short token)
{
try
{
return core.GetResult(token);
}
finally
{
TryReturn();
}
}
[DebuggerHidden]
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
[DebuggerHidden]
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
[DebuggerHidden]
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
[DebuggerHidden]
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
}
================================================
FILE: addons/GDTask/CompilerServices/StateMachineRunner.cs.uid
================================================
uid://civq0j70x833j
================================================
FILE: addons/GDTask/GDTask.Delay.cs
================================================
using Fractural.Tasks.Internal;
using Godot;
using System;
using System.Runtime.CompilerServices;
using System.Threading;
namespace Fractural.Tasks
{
public enum DelayType
{
/// <summary>use Time.deltaTime.</summary>
DeltaTime,
/// <summary>use Stopwatch.GetTimestamp().</summary>
Realtime
}
public partial struct GDTask
{
public static YieldAwaitable Yield()
{
// optimized for single continuation
return new YieldAwaitable(PlayerLoopTiming.Process);
}
public static YieldAwaitable Yield(PlayerLoopTiming timing)
{
// optimized for single continuation
return new YieldAwaitable(timing);
}
public static GDTask Yield(CancellationToken cancellationToken)
{
return new GDTask(YieldPromise.Create(PlayerLoopTiming.Process, cancellationToken, out var token), token);
}
public static GDTask Yield(PlayerLoopTiming timing, CancellationToken cancellationToken)
{
return new GDTask(YieldPromise.Create(timing, cancellationToken, out var token), token);
}
/// <summary>
/// Similar as GDTask.Yield but guaranteed run on next frame.
/// </summary>
public static GDTask NextFrame()
{
return new GDTask(NextFramePromise.Create(PlayerLoopTiming.Process, CancellationToken.None, out var token), token);
}
/// <summary>
/// Similar as GDTask.Yield but guaranteed run on next frame.
/// </summary>
public static GDTask NextFrame(PlayerLoopTiming timing)
{
return new GDTask(NextFramePromise.Create(timing, CancellationToken.None, out var token), token);
}
/// <summary>
/// Similar as GDTask.Yield but guaranteed run on next frame.
/// </summary>
public static GDTask NextFrame(CancellationToken cancellationToken)
{
return new GDTask(NextFramePromise.Create(PlayerLoopTiming.Process, cancellationToken, out var token), token);
}
/// <summary>
/// Similar as GDTask.Yield but guaranteed run on next frame.
/// </summary>
public static GDTask NextFrame(PlayerLoopTiming timing, CancellationToken cancellationToken)
{
return new GDTask(NextFramePromise.Create(timing, cancellationToken, out var token), token);
}
public static YieldAwaitable WaitForEndOfFrame()
{
return GDTask.Yield(PlayerLoopTiming.Process);
}
public static GDTask WaitForEndOfFrame(CancellationToken cancellationToken)
{
return GDTask.Yield(PlayerLoopTiming.Process, cancellationToken);
}
/// <summary>
/// Same as GDTask.Yield(PlayerLoopTiming.PhysicsProcess).
/// </summary>
public static YieldAwaitable WaitForPhysicsProcess()
{
return GDTask.Yield(PlayerLoopTiming.PhysicsProcess);
}
/// <summary>
/// Same as GDTask.Yield(PlayerLoopTiming.PhysicsProcess, cancellationToken).
/// </summary>
public static GDTask WaitForPhysicsProcess(CancellationToken cancellationToken)
{
return GDTask.Yield(PlayerLoopTiming.PhysicsProcess, cancellationToken);
}
public static GDTask DelayFrame(int delayFrameCount, PlayerLoopTiming delayTiming = PlayerLoopTiming.Process, CancellationToken cancellationToken = default(CancellationToken))
{
if (delayFrameCount < 0)
{
throw new ArgumentOutOfRangeException("Delay does not allow minus delayFrameCount. delayFrameCount:" + delayFrameCount);
}
return new GDTask(DelayFramePromise.Create(delayFrameCount, delayTiming, cancellationToken, out var token), token);
}
public static GDTask Delay(int millisecondsDelay, PlayerLoopTiming delayTiming = PlayerLoopTiming.Process, CancellationToken cancellationToken = default(CancellationToken))
{
var delayTimeSpan = TimeSpan.FromMilliseconds(millisecondsDelay);
return Delay(delayTimeSpan, delayTiming, cancellationToken);
}
public static GDTask Delay(TimeSpan delayTimeSpan, PlayerLoopTiming delayTiming = PlayerLoopTiming.Process, CancellationToken cancellationToken = default(CancellationToken))
{
return Delay(delayTimeSpan, DelayType.DeltaTime, delayTiming, cancellationToken);
}
public static GDTask Delay(int millisecondsDelay, DelayType delayType, PlayerLoopTiming delayTiming = PlayerLoopTiming.Process, CancellationToken cancellationToken = default(CancellationToken))
{
var delayTimeSpan = TimeSpan.FromMilliseconds(millisecondsDelay);
return Delay(delayTimeSpan, delayType, delayTiming, cancellationToken);
}
public static GDTask Delay(TimeSpan delayTimeSpan, DelayType delayType, PlayerLoopTiming delayTiming = PlayerLoopTiming.Process, CancellationToken cancellationToken = default(CancellationToken))
{
if (delayTimeSpan < TimeSpan.Zero)
{
throw new ArgumentOutOfRangeException("Delay does not allow minus delayTimeSpan. delayTimeSpan:" + delayTimeSpan);
}
#if DEBUG
// force use Realtime.
if (GDTaskPlayerLoopAutoload.IsMainThread && Engine.IsEditorHint())
{
delayType = DelayType.Realtime;
}
#endif
switch (delayType)
{
case DelayType.Realtime:
{
return new GDTask(DelayRealtimePromise.Create(delayTimeSpan, delayTiming, cancellationToken, out var token), token);
}
case DelayType.DeltaTime:
default:
{
return new GDTask(DelayPromise.Create(delayTimeSpan, delayTiming, cancellationToken, out var token), token);
}
}
}
sealed class YieldPromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<YieldPromise>
{
static TaskPool<YieldPromise> pool;
YieldPromise nextNode;
public ref YieldPromise NextNode => ref nextNode;
static YieldPromise()
{
TaskPool.RegisterSizeGetter(typeof(YieldPromise), () => pool.Size);
}
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<object> core;
YieldPromise()
{
}
public static IGDTaskSource Create(PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new YieldPromise();
}
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested)
{
core.TrySetCanceled(cancellationToken);
return false;
}
core.TrySetResult(null);
return false;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
cancellationToken = default;
return pool.TryPush(this);
}
}
sealed class NextFramePromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<NextFramePromise>
{
static TaskPool<NextFramePromise> pool;
NextFramePromise nextNode;
public ref NextFramePromise NextNode => ref nextNode;
static NextFramePromise()
{
TaskPool.RegisterSizeGetter(typeof(NextFramePromise), () => pool.Size);
}
bool isMainThread;
ulong frameCount;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<AsyncUnit> core;
NextFramePromise()
{
}
public static IGDTaskSource Create(PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new NextFramePromise();
}
result.isMainThread = GDTaskPlayerLoopAutoload.IsMainThread;
if (result.isMainThread)
result.frameCount = Engine.GetProcessFrames();
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested)
{
core.TrySetCanceled(cancellationToken);
return false;
}
if (isMainThread && frameCount == Engine.GetProcessFrames())
{
return true;
}
core.TrySetResult(AsyncUnit.Default);
return false;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
cancellationToken = default;
return pool.TryPush(this);
}
}
sealed class DelayFramePromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayFramePromise>
{
static TaskPool<DelayFramePromise> pool;
DelayFramePromise nextNode;
public ref DelayFramePromise NextNode => ref nextNode;
static DelayFramePromise()
{
TaskPool.RegisterSizeGetter(typeof(DelayFramePromise), () => pool.Size);
}
bool isMainThread;
ulong initialFrame;
int delayFrameCount;
CancellationToken cancellationToken;
int currentFrameCount;
GDTaskCompletionSourceCore<AsyncUnit> core;
DelayFramePromise()
{
}
public static IGDTaskSource Create(int delayFrameCount, PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new DelayFramePromise();
}
result.delayFrameCount = delayFrameCount;
result.cancellationToken = cancellationToken;
result.isMainThread = GDTaskPlayerLoopAutoload.IsMainThread;
if (result.isMainThread)
result.initialFrame = Engine.GetProcessFrames();
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested)
{
core.TrySetCanceled(cancellationToken);
return false;
}
if (currentFrameCount == 0)
{
if (delayFrameCount == 0) // same as Yield
{
core.TrySetResult(AsyncUnit.Default);
return false;
}
// skip in initial frame.
if (isMainThread && initialFrame == Engine.GetProcessFrames())
{
#if DEBUG
// force use Realtime.
if (GDTaskPlayerLoopAutoload.IsMainThread && Engine.IsEditorHint())
{
//goto ++currentFrameCount
}
else
{
return true;
}
#else
return true;
#endif
}
}
if (++currentFrameCount >= delayFrameCount)
{
core.TrySetResult(AsyncUnit.Default);
return false;
}
return true;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
currentFrameCount = default;
delayFrameCount = default;
cancellationToken = default;
return pool.TryPush(this);
}
}
sealed class DelayPromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayPromise>
{
static TaskPool<DelayPromise> pool;
DelayPromise nextNode;
public ref DelayPromise NextNode => ref nextNode;
static DelayPromise()
{
TaskPool.RegisterSizeGetter(typeof(DelayPromise), () => pool.Size);
}
bool isMainThread;
ulong initialFrame;
double delayTimeSpan;
double elapsed;
PlayerLoopTiming timing;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<object> core;
DelayPromise()
{
}
public static IGDTaskSource Create(TimeSpan delayTimeSpan, PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new DelayPromise();
}
result.elapsed = 0.0f;
result.delayTimeSpan = (float)delayTimeSpan.TotalSeconds;
result.cancellationToken = cancellationToken;
result.isMainThread = GDTaskPlayerLoopAutoload.IsMainThread;
result.timing = timing;
if (result.isMainThread)
result.initialFrame = Engine.GetProcessFrames();
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested)
{
core.TrySetCanceled(cancellationToken);
return false;
}
if (elapsed == 0.0f)
{
if (isMainThread && initialFrame == Engine.GetProcessFrames())
{
return true;
}
}
if (timing == PlayerLoopTiming.Process || timing == PlayerLoopTiming.PauseProcess)
elapsed += GDTaskPlayerLoopAutoload.Global.DeltaTime;
else
elapsed += GDTaskPlayerLoopAutoload.Global.PhysicsDeltaTime;
if (elapsed >= delayTimeSpan)
{
core.TrySetResult(null);
return false;
}
return true;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
delayTimeSpan = default;
elapsed = default;
cancellationToken = default;
return pool.TryPush(this);
}
}
sealed class DelayRealtimePromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayRealtimePromise>
{
static TaskPool<DelayRealtimePromise> pool;
DelayRealtimePromise nextNode;
public ref DelayRealtimePromise NextNode => ref nextNode;
static DelayRealtimePromise()
{
TaskPool.RegisterSizeGetter(typeof(DelayRealtimePromise), () => pool.Size);
}
long delayTimeSpanTicks;
ValueStopwatch stopwatch;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<AsyncUnit> core;
DelayRealtimePromise()
{
}
public static IGDTaskSource Create(TimeSpan delayTimeSpan, PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new DelayRealtimePromise();
}
result.stopwatch = ValueStopwatch.StartNew();
result.delayTimeSpanTicks = delayTimeSpan.Ticks;
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested)
{
core.TrySetCanceled(cancellationToken);
return false;
}
if (stopwatch.IsInvalid)
{
core.TrySetResult(AsyncUnit.Default);
return false;
}
if (stopwatch.ElapsedTicks >= delayTimeSpanTicks)
{
core.TrySetResult(AsyncUnit.Default);
return false;
}
return true;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
stopwatch = default;
cancellationToken = default;
return pool.TryPush(this);
}
}
}
public readonly struct YieldAwaitable
{
readonly PlayerLoopTiming timing;
public YieldAwaitable(PlayerLoopTiming timing)
{
this.timing = timing;
}
public Awaiter GetAwaiter()
{
return new Awaiter(timing);
}
public GDTask ToGDTask()
{
return GDTask.Yield(timing, CancellationToken.None);
}
public readonly struct Awaiter : ICriticalNotifyCompletion
{
readonly PlayerLoopTiming timing;
public Awaiter(PlayerLoopTiming timing)
{
this.timing = timing;
}
public bool IsCompleted => false;
public void GetResult() { }
public void OnCompleted(Action continuation)
{
GDTaskPlayerLoopAutoload.AddContinuation(timing, continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
GDTaskPlayerLoopAutoload.AddContinuation(timing, continuation);
}
}
}
}
================================================
FILE: addons/GDTask/GDTask.Delay.cs.uid
================================================
uid://btyvmsmlux4qq
================================================
FILE: addons/GDTask/GDTask.Factory.cs
================================================
using Fractural.Tasks.Internal;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.ExceptionServices;
using System.Threading;
namespace Fractural.Tasks
{
public partial struct GDTask
{
static readonly GDTask CanceledGDTask = new Func<GDTask>(() =>
{
return new GDTask(new CanceledResultSource(CancellationToken.None), 0);
})();
static class CanceledGDTaskCache<T>
{
public static readonly GDTask<T> Task;
static CanceledGDTaskCache()
{
Task = new GDTask<T>(new CanceledResultSource<T>(CancellationToken.None), 0);
}
}
public static readonly GDTask CompletedTask = new GDTask();
public static GDTask FromException(Exception ex)
{
if (ex is OperationCanceledException oce)
{
return FromCanceled(oce.CancellationToken);
}
return new GDTask(new ExceptionResultSource(ex), 0);
}
public static GDTask<T> FromException<T>(Exception ex)
{
if (ex is OperationCanceledException oce)
{
return FromCanceled<T>(oce.CancellationToken);
}
return new GDTask<T>(new ExceptionResultSource<T>(ex), 0);
}
public static GDTask<T> FromResult<T>(T value)
{
return new GDTask<T>(value);
}
public static GDTask FromCanceled(CancellationToken cancellationToken = default)
{
if (cancellationToken == CancellationToken.None)
{
return CanceledGDTask;
}
else
{
return new GDTask(new CanceledResultSource(cancellationToken), 0);
}
}
public static GDTask<T> FromCanceled<T>(CancellationToken cancellationToken = default)
{
if (cancellationToken == CancellationToken.None)
{
return CanceledGDTaskCache<T>.Task;
}
else
{
return new GDTask<T>(new CanceledResultSource<T>(cancellationToken), 0);
}
}
public static GDTask Create(Func<GDTask> factory)
{
return factory();
}
public static GDTask<T> Create<T>(Func<GDTask<T>> factory)
{
return factory();
}
public static AsyncLazy Lazy(Func<GDTask> factory)
{
return new AsyncLazy(factory);
}
public static AsyncLazy<T> Lazy<T>(Func<GDTask<T>> factory)
{
return new AsyncLazy<T>(factory);
}
/// <summary>
/// helper of fire and forget void action.
/// </summary>
public static void Void(Func<GDTaskVoid> asyncAction)
{
asyncAction().Forget();
}
/// <summary>
/// helper of fire and forget void action.
/// </summary>
public static void Void(Func<CancellationToken, GDTaskVoid> asyncAction, CancellationToken cancellationToken)
{
asyncAction(cancellationToken).Forget();
}
/// <summary>
/// helper of fire and forget void action.
/// </summary>
public static void Void<T>(Func<T, GDTaskVoid> asyncAction, T state)
{
asyncAction(state).Forget();
}
/// <summary>
/// helper of create add GDTaskVoid to delegate.
/// For example: FooAction = GDTask.Action(async () => { /* */ })
/// </summary>
public static Action Action(Func<GDTaskVoid> asyncAction)
{
return () => asyncAction().Forget();
}
/// <summary>
/// helper of create add GDTaskVoid to delegate.
/// </summary>
public static Action Action(Func<CancellationToken, GDTaskVoid> asyncAction, CancellationToken cancellationToken)
{
return () => asyncAction(cancellationToken).Forget();
}
/// <summary>
/// Defer the task creation just before call await.
/// </summary>
public static GDTask Defer(Func<GDTask> factory)
{
return new GDTask(new DeferPromise(factory), 0);
}
/// <summary>
/// Defer the task creation just before call await.
/// </summary>
public static GDTask<T> Defer<T>(Func<GDTask<T>> factory)
{
return new GDTask<T>(new DeferPromise<T>(factory), 0);
}
/// <summary>
/// Never complete.
/// </summary>
public static GDTask Never(CancellationToken cancellationToken = default)
{
return new GDTask<AsyncUnit>(new NeverPromise<AsyncUnit>(cancellationToken), 0);
}
/// <summary>
/// Never complete.
/// </summary>
public static GDTask<T> Never<T>(CancellationToken cancellationToken = default)
{
return new GDTask<T>(new NeverPromise<T>(cancellationToken), 0);
}
sealed class ExceptionResultSource : IGDTaskSource
{
readonly ExceptionDispatchInfo exception;
bool calledGet;
public ExceptionResultSource(Exception exception)
{
this.exception = ExceptionDispatchInfo.Capture(exception);
}
public void GetResult(short token)
{
if (!calledGet)
{
calledGet = true;
GC.SuppressFinalize(this);
}
exception.Throw();
}
public GDTaskStatus GetStatus(short token)
{
return GDTaskStatus.Faulted;
}
public GDTaskStatus UnsafeGetStatus()
{
return GDTaskStatus.Faulted;
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
continuation(state);
}
~ExceptionResultSource()
{
if (!calledGet)
{
GDTaskScheduler.PublishUnobservedTaskException(exception.SourceException);
}
}
}
sealed class ExceptionResultSource<T> : IGDTaskSource<T>
{
readonly ExceptionDispatchInfo exception;
bool calledGet;
public ExceptionResultSource(Exception exception)
{
this.exception = ExceptionDispatchInfo.Capture(exception);
}
public T GetResult(short token)
{
if (!calledGet)
{
calledGet = true;
GC.SuppressFinalize(this);
}
exception.Throw();
return default;
}
void IGDTaskSource.GetResult(short token)
{
if (!calledGet)
{
calledGet = true;
GC.SuppressFinalize(this);
}
exception.Throw();
}
public GDTaskStatus GetStatus(short token)
{
return GDTaskStatus.Faulted;
}
public GDTaskStatus UnsafeGetStatus()
{
return GDTaskStatus.Faulted;
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
continuation(state);
}
~ExceptionResultSource()
{
if (!calledGet)
{
GDTaskScheduler.PublishUnobservedTaskException(exception.SourceException);
}
}
}
sealed class CanceledResultSource : IGDTaskSource
{
readonly CancellationToken cancellationToken;
public CanceledResultSource(CancellationToken cancellationToken)
{
this.cancellationToken = cancellationToken;
}
public void GetResult(short token)
{
throw new OperationCanceledException(cancellationToken);
}
public GDTaskStatus GetStatus(short token)
{
return GDTaskStatus.Canceled;
}
public GDTaskStatus UnsafeGetStatus()
{
return GDTaskStatus.Canceled;
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
continuation(state);
}
}
sealed class CanceledResultSource<T> : IGDTaskSource<T>
{
readonly CancellationToken cancellationToken;
public CanceledResultSource(CancellationToken cancellationToken)
{
this.cancellationToken = cancellationToken;
}
public T GetResult(short token)
{
throw new OperationCanceledException(cancellationToken);
}
void IGDTaskSource.GetResult(short token)
{
throw new OperationCanceledException(cancellationToken);
}
public GDTaskStatus GetStatus(short token)
{
return GDTaskStatus.Canceled;
}
public GDTaskStatus UnsafeGetStatus()
{
return GDTaskStatus.Canceled;
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
continuation(state);
}
}
sealed class DeferPromise : IGDTaskSource
{
Func<GDTask> factory;
GDTask task;
GDTask.Awaiter awaiter;
public DeferPromise(Func<GDTask> factory)
{
this.factory = factory;
}
public void GetResult(short token)
{
awaiter.GetResult();
}
public GDTaskStatus GetStatus(short token)
{
var f = Interlocked.Exchange(ref factory, null);
if (f != null)
{
task = f();
awaiter = task.GetAwaiter();
}
return task.Status;
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
awaiter.SourceOnCompleted(continuation, state);
}
public GDTaskStatus UnsafeGetStatus()
{
return task.Status;
}
}
sealed class DeferPromise<T> : IGDTaskSource<T>
{
Func<GDTask<T>> factory;
GDTask<T> task;
GDTask<T>.Awaiter awaiter;
public DeferPromise(Func<GDTask<T>> factory)
{
this.factory = factory;
}
public T GetResult(short token)
{
return awaiter.GetResult();
}
void IGDTaskSource.GetResult(short token)
{
awaiter.GetResult();
}
public GDTaskStatus GetStatus(short token)
{
var f = Interlocked.Exchange(ref factory, null);
if (f != null)
{
task = f();
awaiter = task.GetAwaiter();
}
return task.Status;
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
awaiter.SourceOnCompleted(continuation, state);
}
public GDTaskStatus UnsafeGetStatus()
{
return task.Status;
}
}
sealed class NeverPromise<T> : IGDTaskSource<T>
{
static readonly Action<object> cancellationCallback = CancellationCallback;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<T> core;
public NeverPromise(CancellationToken cancellationToken)
{
this.cancellationToken = cancellationToken;
if (this.cancellationToken.CanBeCanceled)
{
this.cancellationToken.RegisterWithoutCaptureExecutionContext(cancellationCallback, this);
}
}
static void CancellationCallback(object state)
{
var self = (NeverPromise<T>)state;
self.core.TrySetCanceled(self.cancellationToken);
}
public T GetResult(short token)
{
return core.GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
void IGDTaskSource.GetResult(short token)
{
core.GetResult(token);
}
}
}
internal static class CompletedTasks
{
public static readonly GDTask<AsyncUnit> AsyncUnit = GDTask.FromResult(Fractural.Tasks.AsyncUnit.Default);
public static readonly GDTask<bool> True = GDTask.FromResult(true);
public static readonly GDTask<bool> False = GDTask.FromResult(false);
public static readonly GDTask<int> Zero = GDTask.FromResult(0);
public static readonly GDTask<int> MinusOne = GDTask.FromResult(-1);
public static readonly GDTask<int> One = GDTask.FromResult(1);
}
}
================================================
FILE: addons/GDTask/GDTask.Factory.cs.uid
================================================
uid://p3ayqohsixwx
================================================
FILE: addons/GDTask/GDTask.Run.cs
================================================
using System;
using System.Threading;
namespace Fractural.Tasks
{
public partial struct GDTask
{
#region OBSOLETE_RUN
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask Run(Action action, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(action, configureAwait, cancellationToken);
}
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask Run(Action<object> action, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(action, state, configureAwait, cancellationToken);
}
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask Run(Func<GDTask> action, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(action, configureAwait, cancellationToken);
}
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask Run(Func<object, GDTask> action, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(action, state, configureAwait, cancellationToken);
}
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask<T> Run<T>(Func<T> func, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(func, configureAwait, cancellationToken);
}
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask<T> Run<T>(Func<GDTask<T>> func, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(func, configureAwait, cancellationToken);
}
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask<T> Run<T>(Func<object, T> func, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(func, state, configureAwait, cancellationToken);
}
[Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For equivalent behaviour, use GDTask.RunOnThreadPool instead. If you don't want to use ThreadPool, you can use GDTask.Void(async void) or GDTask.Create(async GDTask) too.")]
public static GDTask<T> Run<T>(Func<object, GDTask<T>> func, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
return RunOnThreadPool(func, state, configureAwait, cancellationToken);
}
#endregion
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask RunOnThreadPool(Action action, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
action();
}
finally
{
await GDTask.Yield();
}
}
else
{
action();
}
cancellationToken.ThrowIfCancellationRequested();
}
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask RunOnThreadPool(Action<object> action, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
action(state);
}
finally
{
await GDTask.Yield();
}
}
else
{
action(state);
}
cancellationToken.ThrowIfCancellationRequested();
}
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask RunOnThreadPool(Func<GDTask> action, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
await action();
}
finally
{
await GDTask.Yield();
}
}
else
{
await action();
}
cancellationToken.ThrowIfCancellationRequested();
}
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask RunOnThreadPool(Func<object, GDTask> action, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
await action(state);
}
finally
{
await GDTask.Yield();
}
}
else
{
await action(state);
}
cancellationToken.ThrowIfCancellationRequested();
}
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask<T> RunOnThreadPool<T>(Func<T> func, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
return func();
}
finally
{
await GDTask.Yield();
cancellationToken.ThrowIfCancellationRequested();
}
}
else
{
return func();
}
}
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask<T> RunOnThreadPool<T>(Func<GDTask<T>> func, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
return await func();
}
finally
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.Yield();
cancellationToken.ThrowIfCancellationRequested();
}
}
else
{
var result = await func();
cancellationToken.ThrowIfCancellationRequested();
return result;
}
}
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask<T> RunOnThreadPool<T>(Func<object, T> func, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
return func(state);
}
finally
{
await GDTask.Yield();
cancellationToken.ThrowIfCancellationRequested();
}
}
else
{
return func(state);
}
}
/// <summary>Run action on the threadPool and return to main thread if configureAwait = true.</summary>
public static async GDTask<T> RunOnThreadPool<T>(Func<object, GDTask<T>> func, object state, bool configureAwait = true, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
return await func(state);
}
finally
{
cancellationToken.ThrowIfCancellationRequested();
await GDTask.Yield();
cancellationToken.ThrowIfCancellationRequested();
}
}
else
{
var result = await func(state);
cancellationToken.ThrowIfCancellationRequested();
return result;
}
}
}
}
================================================
FILE: addons/GDTask/GDTask.Run.cs.uid
================================================
uid://daid4jdjbp0au
================================================
FILE: addons/GDTask/GDTask.Threading.cs
================================================
using System;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using Fractural.Tasks.Internal;
namespace Fractural.Tasks
{
public partial struct GDTask
{
/// <summary>
/// If running on mainthread, do nothing. Otherwise, same as GDTask.Yield(PlayerLoopTiming.Update).
/// </summary>
public static SwitchToMainThreadAwaitable SwitchToMainThread(CancellationToken cancellationToken = default)
{
return new SwitchToMainThreadAwaitable(PlayerLoopTiming.Process, cancellationToken);
}
/// <summary>
/// If running on mainthread, do nothing. Otherwise, same as GDTask.Yield(timing).
/// </summary>
public static SwitchToMainThreadAwaitable SwitchToMainThread(PlayerLoopTiming timing, CancellationToken cancellationToken = default)
{
return new SwitchToMainThreadAwaitable(timing, cancellationToken);
}
/// <summary>
/// Return to mainthread(same as await SwitchToMainThread) after using scope is closed.
/// </summary>
public static ReturnToMainThread ReturnToMainThread(CancellationToken cancellationToken = default)
{
return new ReturnToMainThread(PlayerLoopTiming.Process, cancellationToken);
}
/// <summary>
/// Return to mainthread(same as await SwitchToMainThread) after using scope is closed.
/// </summary>
public static ReturnToMainThread ReturnToMainThread(PlayerLoopTiming timing, CancellationToken cancellationToken = default)
{
return new ReturnToMainThread(timing, cancellationToken);
}
/// <summary>
/// Queue the action to PlayerLoop.
/// </summary>
public static void Post(Action action, PlayerLoopTiming timing = PlayerLoopTiming.Process)
{
GDTaskPlayerLoopAutoload.AddContinuation(timing, action);
}
public static SwitchToThreadPoolAwaitable SwitchToThreadPool()
{
return new SwitchToThreadPoolAwaitable();
}
/// <summary>
/// Note: use SwitchToThreadPool is recommended.
/// </summary>
public static SwitchToTaskPoolAwaitable SwitchToTaskPool()
{
return new SwitchToTaskPoolAwaitable();
}
public static SwitchToSynchronizationContextAwaitable SwitchToSynchronizationContext(SynchronizationContext synchronizationContext, CancellationToken cancellationToken = default)
{
Error.ThrowArgumentNullException(synchronizationContext, nameof(synchronizationContext));
return new SwitchToSynchronizationContextAwaitable(synchronizationContext, cancellationToken);
}
public static ReturnToSynchronizationContext ReturnToSynchronizationContext(SynchronizationContext synchronizationContext, CancellationToken cancellationToken = default)
{
return new ReturnToSynchronizationContext(synchronizationContext, false, cancellationToken);
}
public static ReturnToSynchronizationContext ReturnToCurrentSynchronizationContext(bool dontPostWhenSameContext = true, CancellationToken cancellationToken = default)
{
return new ReturnToSynchronizationContext(SynchronizationContext.Current, dontPostWhenSameContext, cancellationToken);
}
}
public struct SwitchToMainThreadAwaitable
{
readonly PlayerLoopTiming playerLoopTiming;
readonly CancellationToken cancellationToken;
public SwitchToMainThreadAwaitable(PlayerLoopTiming playerLoopTiming, CancellationToken cancellationToken)
{
this.playerLoopTiming = playerLoopTiming;
this.cancellationToken = cancellationToken;
}
public Awaiter GetAwaiter() => new Awaiter(playerLoopTiming, cancellationToken);
public struct Awaiter : ICriticalNotifyCompletion
{
readonly PlayerLoopTiming playerLoopTiming;
readonly CancellationToken cancellationToken;
public Awaiter(PlayerLoopTiming playerLoopTiming, CancellationToken cancellationToken)
{
this.playerLoopTiming = playerLoopTiming;
this.cancellationToken = cancellationToken;
}
public bool IsCompleted
{
get
{
var currentThreadId = System.Threading.Thread.CurrentThread.ManagedThreadId;
if (GDTaskPlayerLoopAutoload.MainThreadId == currentThreadId)
{
return true; // run immediate.
}
else
{
return false; // register continuation.
}
}
}
public void GetResult() { cancellationToken.ThrowIfCancellationRequested(); }
public void OnCompleted(Action continuation)
{
GDTaskPlayerLoopAutoload.AddContinuation(playerLoopTiming, continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
GDTaskPlayerLoopAutoload.AddContinuation(playerLoopTiming, continuation);
}
}
}
public struct ReturnToMainThread
{
readonly PlayerLoopTiming playerLoopTiming;
readonly CancellationToken cancellationToken;
public ReturnToMainThread(PlayerLoopTiming playerLoopTiming, CancellationToken cancellationToken)
{
this.playerLoopTiming = playerLoopTiming;
this.cancellationToken = cancellationToken;
}
public Awaiter DisposeAsync()
{
return new Awaiter(playerLoopTiming, cancellationToken); // run immediate.
}
public readonly struct Awaiter : ICriticalNotifyCompletion
{
readonly PlayerLoopTiming timing;
readonly CancellationToken cancellationToken;
public Awaiter(PlayerLoopTiming timing, CancellationToken cancellationToken)
{
this.timing = timing;
this.cancellationToken = cancellationToken;
}
public Awaiter GetAwaiter() => this;
public bool IsCompleted => GDTaskPlayerLoopAutoload.MainThreadId == System.Threading.Thread.CurrentThread.ManagedThreadId;
public void GetResult() { cancellationToken.ThrowIfCancellationRequested(); }
public void OnCompleted(Action continuation)
{
GDTaskPlayerLoopAutoload.AddContinuation(timing, continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
GDTaskPlayerLoopAutoload.AddContinuation(timing, continuation);
}
}
}
public struct SwitchToThreadPoolAwaitable
{
public Awaiter GetAwaiter() => new Awaiter();
public struct Awaiter : ICriticalNotifyCompletion
{
static readonly WaitCallback switchToCallback = Callback;
public bool IsCompleted => false;
public void GetResult() { }
public void OnCompleted(Action continuation)
{
ThreadPool.QueueUserWorkItem(switchToCallback, continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
ThreadPool.UnsafeQueueUserWorkItem(switchToCallback, continuation);
}
static void Callback(object state)
{
var continuation = (Action)state;
continuation();
}
}
}
public struct SwitchToTaskPoolAwaitable
{
public Awaiter GetAwaiter() => new Awaiter();
public struct Awaiter : ICriticalNotifyCompletion
{
static readonly Action<object> switchToCallback = Callback;
public bool IsCompleted => false;
public void GetResult() { }
public void OnCompleted(Action continuation)
{
Task.Factory.StartNew(switchToCallback, continuation, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default);
}
public void UnsafeOnCompleted(Action continuation)
{
Task.Factory.StartNew(switchToCallback, continuation, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default);
}
static void Callback(object state)
{
var continuation = (Action)state;
continuation();
}
}
}
public struct SwitchToSynchronizationContextAwaitable
{
readonly SynchronizationContext synchronizationContext;
readonly CancellationToken cancellationToken;
public SwitchToSynchronizationContextAwaitable(SynchronizationContext synchronizationContext, CancellationToken cancellationToken)
{
this.synchronizationContext = synchronizationContext;
this.cancellationToken = cancellationToken;
}
public Awaiter GetAwaiter() => new Awaiter(synchronizationContext, cancellationToken);
public struct Awaiter : ICriticalNotifyCompletion
{
static readonly SendOrPostCallback switchToCallback = Callback;
readonly SynchronizationContext synchronizationContext;
readonly CancellationToken cancellationToken;
public Awaiter(SynchronizationContext synchronizationContext, CancellationToken cancellationToken)
{
this.synchronizationContext = synchronizationContext;
this.cancellationToken = cancellationToken;
}
public bool IsCompleted => false;
public void GetResult() { cancellationToken.ThrowIfCancellationRequested(); }
public void OnCompleted(Action continuation)
{
synchronizationContext.Post(switchToCallback, continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
synchronizationContext.Post(switchToCallback, continuation);
}
static void Callback(object state)
{
var continuation = (Action)state;
continuation();
}
}
}
public struct ReturnToSynchronizationContext
{
readonly SynchronizationContext syncContext;
readonly bool dontPostWhenSameContext;
readonly CancellationToken cancellationToken;
public ReturnToSynchronizationContext(SynchronizationContext syncContext, bool dontPostWhenSameContext, CancellationToken cancellationToken)
{
this.syncContext = syncContext;
this.dontPostWhenSameContext = dontPostWhenSameContext;
this.cancellationToken = cancellationToken;
}
public Awaiter DisposeAsync()
{
return new Awaiter(syncContext, dontPostWhenSameContext, cancellationToken);
}
public struct Awaiter : ICriticalNotifyCompletion
{
static readonly SendOrPostCallback switchToCallback = Callback;
readonly SynchronizationContext synchronizationContext;
readonly bool dontPostWhenSameContext;
readonly CancellationToken cancellationToken;
public Awaiter(SynchronizationContext synchronizationContext, bool dontPostWhenSameContext, CancellationToken cancellationToken)
{
this.synchronizationContext = synchronizationContext;
this.dontPostWhenSameContext = dontPostWhenSameContext;
this.cancellationToken = cancellationToken;
}
public Awaiter GetAwaiter() => this;
public bool IsCompleted
{
get
{
if (!dontPostWhenSameContext) return false;
var current = SynchronizationContext.Current;
if (current == synchronizationContext)
{
return true;
}
else
{
return false;
}
}
}
public void GetResult() { cancellationToken.ThrowIfCancellationRequested(); }
public void OnCompleted(Action continuation)
{
synchronizationContext.Post(switchToCallback, continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
synchronizationContext.Post(switchToCallback, continuation);
}
static void Callback(object state)
{
var continuation = (Action)state;
continuation();
}
}
}
}
================================================
FILE: addons/GDTask/GDTask.Threading.cs.uid
================================================
uid://dwpp8canxmyfw
================================================
FILE: addons/GDTask/GDTask.ToSignal.cs
================================================
using Godot;
using System.Threading;
namespace Fractural.Tasks
{
public partial struct GDTask
{
public static async GDTask<Variant[]> ToSignal(GodotObject self, StringName signal)
{
return await self.ToSignal(self, signal);
}
public static async GDTask<Variant[]> ToSignal(GodotObject self, StringName signal, CancellationToken ct)
{
var tcs = new GDTaskCompletionSource<Variant[]>();
ct.Register(() => tcs.TrySetCanceled(ct));
Create(async () =>
{
var result = await self.ToSignal(self, signal);
tcs.TrySetResult(result);
}).Forget();
return await tcs.Task;
}
}
}
================================================
FILE: addons/GDTask/GDTask.ToSignal.cs.uid
================================================
uid://coomhn117gtgx
================================================
FILE: addons/GDTask/GDTask.WaitUntil.cs
================================================
using System;
using System.Collections.Generic;
using System.Threading;
using Fractural.Tasks.Internal;
using Godot;
namespace Fractural.Tasks
{
public partial struct GDTask
{
public static GDTask WaitUntil(GodotObject target, Func<bool> predicate, PlayerLoopTiming timing = PlayerLoopTiming.Process, CancellationToken cancellationToken = default)
{
return new GDTask(WaitUntilPromise.Create(target, predicate, timing, cancellationToken, out var token), token);
}
public static GDTask WaitUntil(Func<bool> predicate, PlayerLoopTiming timing = PlayerLoopTiming.Process, CancellationToken cancellationToken = default)
{
return WaitUntil(null, predicate, timing, cancellationToken);
}
public static GDTask WaitWhile(GodotObject target, Func<bool> predicate, PlayerLoopTiming timing = PlayerLoopTiming.Process, CancellationToken cancellationToken = default)
{
return new GDTask(WaitWhilePromise.Create(target, predicate, timing, cancellationToken, out var token), token);
}
public static GDTask WaitWhile(Func<bool> predicate, PlayerLoopTiming timing = PlayerLoopTiming.Process, CancellationToken cancellationToken = default)
{
return WaitWhile(null, predicate, timing, cancellationToken);
}
public static GDTask WaitUntilCanceled(GodotObject target, CancellationToken cancellationToken, PlayerLoopTiming timing = PlayerLoopTiming.Process)
{
return new GDTask(WaitUntilCanceledPromise.Create(target, cancellationToken, timing, out var token), token);
}
public static GDTask WaitUntilCanceled(CancellationToken cancellationToken, PlayerLoopTiming timing = PlayerLoopTiming.Process)
{
return WaitUntilCanceled(null, cancellationToken, timing);
}
public static GDTask<U> WaitUntilValueChanged<T, U>(T target, Func<T, U> monitorFunction, PlayerLoopTiming monitorTiming = PlayerLoopTiming.Process, IEqualityComparer<U> equalityComparer = null, CancellationToken cancellationToken = default)
where T : class
{
return new GDTask<U>(target is GodotObject
? WaitUntilValueChangedGodotObjectPromise<T, U>.Create(target, monitorFunction, equalityComparer, monitorTiming, cancellationToken, out var token)
: WaitUntilValueChangedStandardObjectPromise<T, U>.Create(target, monitorFunction, equalityComparer, monitorTiming, cancellationToken, out token), token);
}
sealed class WaitUntilPromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<WaitUntilPromise>
{
static TaskPool<WaitUntilPromise> pool;
WaitUntilPromise nextNode;
public ref WaitUntilPromise NextNode => ref nextNode;
static WaitUntilPromise()
{
TaskPool.RegisterSizeGetter(typeof(WaitUntilPromise), () => pool.Size);
}
GodotObject target;
Func<bool> predicate;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<object> core;
WaitUntilPromise()
{
}
public static IGDTaskSource Create(GodotObject target, Func<bool> predicate, PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new WaitUntilPromise();
}
result.target = target;
result.predicate = predicate;
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested || (target is not null && !GodotObject.IsInstanceValid(target))) // Cancel when destroyed
{
core.TrySetCanceled(cancellationToken);
return false;
}
try
{
if (!predicate())
{
return true;
}
}
catch (Exception ex)
{
core.TrySetException(ex);
return false;
}
core.TrySetResult(null);
return false;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
predicate = default;
cancellationToken = default;
return pool.TryPush(this);
}
}
sealed class WaitWhilePromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<WaitWhilePromise>
{
static TaskPool<WaitWhilePromise> pool;
WaitWhilePromise nextNode;
public ref WaitWhilePromise NextNode => ref nextNode;
static WaitWhilePromise()
{
TaskPool.RegisterSizeGetter(typeof(WaitWhilePromise), () => pool.Size);
}
GodotObject target;
Func<bool> predicate;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<object> core;
WaitWhilePromise()
{
}
public static IGDTaskSource Create(GodotObject target, Func<bool> predicate, PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new WaitWhilePromise();
}
result.target = target;
result.predicate = predicate;
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested || (target is not null && !GodotObject.IsInstanceValid(target))) // Cancel when destroyed
{
core.TrySetCanceled(cancellationToken);
return false;
}
try
{
if (predicate())
{
return true;
}
}
catch (Exception ex)
{
core.TrySetException(ex);
return false;
}
core.TrySetResult(null);
return false;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
predicate = default;
cancellationToken = default;
return pool.TryPush(this);
}
}
sealed class WaitUntilCanceledPromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolNode<WaitUntilCanceledPromise>
{
static TaskPool<WaitUntilCanceledPromise> pool;
WaitUntilCanceledPromise nextNode;
public ref WaitUntilCanceledPromise NextNode => ref nextNode;
static WaitUntilCanceledPromise()
{
TaskPool.RegisterSizeGetter(typeof(WaitUntilCanceledPromise), () => pool.Size);
}
GodotObject target;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<object> core;
WaitUntilCanceledPromise()
{
}
public static IGDTaskSource Create(GodotObject target, CancellationToken cancellationToken, PlayerLoopTiming timing, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new WaitUntilCanceledPromise();
}
result.target = target;
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public void GetResult(short token)
{
try
{
core.GetResult(token);
}
finally
{
TryReturn();
}
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested || (target is not null && !GodotObject.IsInstanceValid(target))) // Cancel when destroyed
{
core.TrySetResult(null);
return false;
}
return true;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
cancellationToken = default;
return pool.TryPush(this);
}
}
// Cannot add `where T : GodotObject` because `WaitUntilValueChanged` doesn't have the constraint.
sealed class WaitUntilValueChangedGodotObjectPromise<T, U> : IGDTaskSource<U>, IPlayerLoopItem, ITaskPoolNode<WaitUntilValueChangedGodotObjectPromise<T, U>>
{
static TaskPool<WaitUntilValueChangedGodotObjectPromise<T, U>> pool;
WaitUntilValueChangedGodotObjectPromise<T, U> nextNode;
public ref WaitUntilValueChangedGodotObjectPromise<T, U> NextNode => ref nextNode;
static WaitUntilValueChangedGodotObjectPromise()
{
TaskPool.RegisterSizeGetter(typeof(WaitUntilValueChangedGodotObjectPromise<T, U>), () => pool.Size);
}
T target;
GodotObject targetGodotObject;
U currentValue;
Func<T, U> monitorFunction;
IEqualityComparer<U> equalityComparer;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<U> core;
WaitUntilValueChangedGodotObjectPromise()
{
}
public static IGDTaskSource<U> Create(T target, Func<T, U> monitorFunction, IEqualityComparer<U> equalityComparer, PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource<U>.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new WaitUntilValueChangedGodotObjectPromise<T, U>();
}
result.target = target;
result.targetGodotObject = target as GodotObject;
result.monitorFunction = monitorFunction;
result.currentValue = monitorFunction(target);
result.equalityComparer = equalityComparer ?? GodotEqualityComparer.GetDefault<U>();
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public U GetResult(short token)
{
try
{
return core.GetResult(token);
}
finally
{
TryReturn();
}
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested || (target is not null && !GodotObject.IsInstanceValid(targetGodotObject))) // Cancel when destroyed
{
core.TrySetCanceled(cancellationToken);
return false;
}
U nextValue = default;
try
{
nextValue = monitorFunction(target);
if (equalityComparer.Equals(currentValue, nextValue))
{
return true;
}
}
catch (Exception ex)
{
core.TrySetException(ex);
return false;
}
core.TrySetResult(nextValue);
return false;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
target = default;
currentValue = default;
monitorFunction = default;
equalityComparer = default;
cancellationToken = default;
return pool.TryPush(this);
}
}
sealed class WaitUntilValueChangedStandardObjectPromise<T, U> : IGDTaskSource<U>, IPlayerLoopItem, ITaskPoolNode<WaitUntilValueChangedStandardObjectPromise<T, U>>
where T : class
{
static TaskPool<WaitUntilValueChangedStandardObjectPromise<T, U>> pool;
WaitUntilValueChangedStandardObjectPromise<T, U> nextNode;
public ref WaitUntilValueChangedStandardObjectPromise<T, U> NextNode => ref nextNode;
static WaitUntilValueChangedStandardObjectPromise()
{
TaskPool.RegisterSizeGetter(typeof(WaitUntilValueChangedStandardObjectPromise<T, U>), () => pool.Size);
}
WeakReference<T> target;
U currentValue;
Func<T, U> monitorFunction;
IEqualityComparer<U> equalityComparer;
CancellationToken cancellationToken;
GDTaskCompletionSourceCore<U> core;
WaitUntilValueChangedStandardObjectPromise()
{
}
public static IGDTaskSource<U> Create(T target, Func<T, U> monitorFunction, IEqualityComparer<U> equalityComparer, PlayerLoopTiming timing, CancellationToken cancellationToken, out short token)
{
if (cancellationToken.IsCancellationRequested)
{
return AutoResetGDTaskCompletionSource<U>.CreateFromCanceled(cancellationToken, out token);
}
if (!pool.TryPop(out var result))
{
result = new WaitUntilValueChangedStandardObjectPromise<T, U>();
}
result.target = new WeakReference<T>(target, false); // wrap in WeakReference.
result.monitorFunction = monitorFunction;
result.currentValue = monitorFunction(target);
result.equalityComparer = equalityComparer ?? GodotEqualityComparer.GetDefault<U>();
result.cancellationToken = cancellationToken;
TaskTracker.TrackActiveTask(result, 3);
GDTaskPlayerLoopAutoload.AddAction(timing, result);
token = result.core.Version;
return result;
}
public U GetResult(short token)
{
try
{
return core.GetResult(token);
}
finally
{
TryReturn();
}
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
public bool MoveNext()
{
if (cancellationToken.IsCancellationRequested || !target.TryGetTarget(out var t)) // doesn't find = cancel.
{
core.TrySetCanceled(cancellationToken);
return false;
}
U nextValue = default;
try
{
nextValue = monitorFunction(t);
if (equalityComparer.Equals(currentValue, nextValue))
{
return true;
}
}
catch (Exception ex)
{
core.TrySetException(ex);
return false;
}
core.TrySetResult(nextValue);
return false;
}
bool TryReturn()
{
TaskTracker.RemoveTracking(this);
core.Reset();
target = default;
currentValue = default;
monitorFunction = default;
equalityComparer = default;
cancellationToken = default;
return pool.TryPush(this);
}
}
}
}
================================================
FILE: addons/GDTask/GDTask.WaitUntil.cs.uid
================================================
uid://cxbbjjhs4etts
================================================
FILE: addons/GDTask/GDTask.WhenAll.Generated.cs
================================================
using System;
using System.Runtime.CompilerServices;
using System.Runtime.ExceptionServices;
using System.Threading;
using Fractural.Tasks.Internal;
namespace Fractural.Tasks
{
public partial struct GDTask
{
public static GDTask<(T1, T2)> WhenAll<T1, T2>(GDTask<T1> task1, GDTask<T2> task2)
{
if (task1.Status.IsCompletedSuccessfully() && task2.Status.IsCompletedSuccessfully())
{
return new GDTask<(T1, T2)>((task1.GetAwaiter().GetResult(), task2.GetAwaiter().GetResult()));
}
return new GDTask<(T1, T2)>(new WhenAllPromise<T1, T2>(task1, task2), 0);
}
sealed class WhenAllPromise<T1, T2> : IGDTaskSource<(T1, T2)>
{
T1 t1 = default;
T2 t2 = default;
int completedCount;
GDTaskCompletionSourceCore<(T1, T2)> core;
public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
{
TaskTracker.TrackActiveTask(this, 3);
this.completedCount = 0;
{
var awaiter = task1.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT1(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2>, GDTask<T1>.Awaiter>)state)
{
TryInvokeContinuationT1(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task2.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT2(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2>, GDTask<T2>.Awaiter>)state)
{
TryInvokeContinuationT2(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
}
static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in GDTask<T1>.Awaiter awaiter)
{
try
{
self.t1 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 2)
{
self.core.TrySetResult((self.t1, self.t2));
}
}
static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in GDTask<T2>.Awaiter awaiter)
{
try
{
self.t2 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 2)
{
self.core.TrySetResult((self.t1, self.t2));
}
}
public (T1, T2) GetResult(short token)
{
TaskTracker.RemoveTracking(this);
GC.SuppressFinalize(this);
return core.GetResult(token);
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
public static GDTask<(T1, T2, T3)> WhenAll<T1, T2, T3>(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3)
{
if (task1.Status.IsCompletedSuccessfully() && task2.Status.IsCompletedSuccessfully() && task3.Status.IsCompletedSuccessfully())
{
return new GDTask<(T1, T2, T3)>((task1.GetAwaiter().GetResult(), task2.GetAwaiter().GetResult(), task3.GetAwaiter().GetResult()));
}
return new GDTask<(T1, T2, T3)>(new WhenAllPromise<T1, T2, T3>(task1, task2, task3), 0);
}
sealed class WhenAllPromise<T1, T2, T3> : IGDTaskSource<(T1, T2, T3)>
{
T1 t1 = default;
T2 t2 = default;
T3 t3 = default;
int completedCount;
GDTaskCompletionSourceCore<(T1, T2, T3)> core;
public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3)
{
TaskTracker.TrackActiveTask(this, 3);
this.completedCount = 0;
{
var awaiter = task1.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT1(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3>, GDTask<T1>.Awaiter>)state)
{
TryInvokeContinuationT1(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task2.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT2(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3>, GDTask<T2>.Awaiter>)state)
{
TryInvokeContinuationT2(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task3.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT3(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3>, GDTask<T3>.Awaiter>)state)
{
TryInvokeContinuationT3(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
}
static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self, in GDTask<T1>.Awaiter awaiter)
{
try
{
self.t1 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 3)
{
self.core.TrySetResult((self.t1, self.t2, self.t3));
}
}
static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self, in GDTask<T2>.Awaiter awaiter)
{
try
{
self.t2 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 3)
{
self.core.TrySetResult((self.t1, self.t2, self.t3));
}
}
static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self, in GDTask<T3>.Awaiter awaiter)
{
try
{
self.t3 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 3)
{
self.core.TrySetResult((self.t1, self.t2, self.t3));
}
}
public (T1, T2, T3) GetResult(short token)
{
TaskTracker.RemoveTracking(this);
GC.SuppressFinalize(this);
return core.GetResult(token);
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
public static GDTask<(T1, T2, T3, T4)> WhenAll<T1, T2, T3, T4>(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4)
{
if (task1.Status.IsCompletedSuccessfully() && task2.Status.IsCompletedSuccessfully() && task3.Status.IsCompletedSuccessfully() && task4.Status.IsCompletedSuccessfully())
{
return new GDTask<(T1, T2, T3, T4)>((task1.GetAwaiter().GetResult(), task2.GetAwaiter().GetResult(), task3.GetAwaiter().GetResult(), task4.GetAwaiter().GetResult()));
}
return new GDTask<(T1, T2, T3, T4)>(new WhenAllPromise<T1, T2, T3, T4>(task1, task2, task3, task4), 0);
}
sealed class WhenAllPromise<T1, T2, T3, T4> : IGDTaskSource<(T1, T2, T3, T4)>
{
T1 t1 = default;
T2 t2 = default;
T3 t3 = default;
T4 t4 = default;
int completedCount;
GDTaskCompletionSourceCore<(T1, T2, T3, T4)> core;
public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4)
{
TaskTracker.TrackActiveTask(this, 3);
this.completedCount = 0;
{
var awaiter = task1.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT1(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4>, GDTask<T1>.Awaiter>)state)
{
TryInvokeContinuationT1(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task2.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT2(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4>, GDTask<T2>.Awaiter>)state)
{
TryInvokeContinuationT2(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task3.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT3(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4>, GDTask<T3>.Awaiter>)state)
{
TryInvokeContinuationT3(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task4.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT4(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4>, GDTask<T4>.Awaiter>)state)
{
TryInvokeContinuationT4(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
}
static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> self, in GDTask<T1>.Awaiter awaiter)
{
try
{
self.t1 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 4)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4));
}
}
static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> self, in GDTask<T2>.Awaiter awaiter)
{
try
{
self.t2 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 4)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4));
}
}
static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> self, in GDTask<T3>.Awaiter awaiter)
{
try
{
self.t3 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 4)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4));
}
}
static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> self, in GDTask<T4>.Awaiter awaiter)
{
try
{
self.t4 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 4)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4));
}
}
public (T1, T2, T3, T4) GetResult(short token)
{
TaskTracker.RemoveTracking(this);
GC.SuppressFinalize(this);
return core.GetResult(token);
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
public static GDTask<(T1, T2, T3, T4, T5)> WhenAll<T1, T2, T3, T4, T5>(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5)
{
if (task1.Status.IsCompletedSuccessfully() && task2.Status.IsCompletedSuccessfully() && task3.Status.IsCompletedSuccessfully() && task4.Status.IsCompletedSuccessfully() && task5.Status.IsCompletedSuccessfully())
{
return new GDTask<(T1, T2, T3, T4, T5)>((task1.GetAwaiter().GetResult(), task2.GetAwaiter().GetResult(), task3.GetAwaiter().GetResult(), task4.GetAwaiter().GetResult(), task5.GetAwaiter().GetResult()));
}
return new GDTask<(T1, T2, T3, T4, T5)>(new WhenAllPromise<T1, T2, T3, T4, T5>(task1, task2, task3, task4, task5), 0);
}
sealed class WhenAllPromise<T1, T2, T3, T4, T5> : IGDTaskSource<(T1, T2, T3, T4, T5)>
{
T1 t1 = default;
T2 t2 = default;
T3 t3 = default;
T4 t4 = default;
T5 t5 = default;
int completedCount;
GDTaskCompletionSourceCore<(T1, T2, T3, T4, T5)> core;
public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5)
{
TaskTracker.TrackActiveTask(this, 3);
this.completedCount = 0;
{
var awaiter = task1.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT1(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5>, GDTask<T1>.Awaiter>)state)
{
TryInvokeContinuationT1(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task2.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT2(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5>, GDTask<T2>.Awaiter>)state)
{
TryInvokeContinuationT2(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task3.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT3(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5>, GDTask<T3>.Awaiter>)state)
{
TryInvokeContinuationT3(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task4.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT4(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5>, GDTask<T4>.Awaiter>)state)
{
TryInvokeContinuationT4(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task5.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT5(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5>, GDTask<T5>.Awaiter>)state)
{
TryInvokeContinuationT5(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
}
static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T5> self, in GDTask<T1>.Awaiter awaiter)
{
try
{
self.t1 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 5)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5));
}
}
static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T5> self, in GDTask<T2>.Awaiter awaiter)
{
try
{
self.t2 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 5)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5));
}
}
static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T5> self, in GDTask<T3>.Awaiter awaiter)
{
try
{
self.t3 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 5)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5));
}
}
static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T5> self, in GDTask<T4>.Awaiter awaiter)
{
try
{
self.t4 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 5)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5));
}
}
static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T5> self, in GDTask<T5>.Awaiter awaiter)
{
try
{
self.t5 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 5)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5));
}
}
public (T1, T2, T3, T4, T5) GetResult(short token)
{
TaskTracker.RemoveTracking(this);
GC.SuppressFinalize(this);
return core.GetResult(token);
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
public static GDTask<(T1, T2, T3, T4, T5, T6)> WhenAll<T1, T2, T3, T4, T5, T6>(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5, GDTask<T6> task6)
{
if (task1.Status.IsCompletedSuccessfully() && task2.Status.IsCompletedSuccessfully() && task3.Status.IsCompletedSuccessfully() && task4.Status.IsCompletedSuccessfully() && task5.Status.IsCompletedSuccessfully() && task6.Status.IsCompletedSuccessfully())
{
return new GDTask<(T1, T2, T3, T4, T5, T6)>((task1.GetAwaiter().GetResult(), task2.GetAwaiter().GetResult(), task3.GetAwaiter().GetResult(), task4.GetAwaiter().GetResult(), task5.GetAwaiter().GetResult(), task6.GetAwaiter().GetResult()));
}
return new GDTask<(T1, T2, T3, T4, T5, T6)>(new WhenAllPromise<T1, T2, T3, T4, T5, T6>(task1, task2, task3, task4, task5, task6), 0);
}
sealed class WhenAllPromise<T1, T2, T3, T4, T5, T6> : IGDTaskSource<(T1, T2, T3, T4, T5, T6)>
{
T1 t1 = default;
T2 t2 = default;
T3 t3 = default;
T4 t4 = default;
T5 t5 = default;
T6 t6 = default;
int completedCount;
GDTaskCompletionSourceCore<(T1, T2, T3, T4, T5, T6)> core;
public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5, GDTask<T6> task6)
{
TaskTracker.TrackActiveTask(this, 3);
this.completedCount = 0;
{
var awaiter = task1.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT1(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6>, GDTask<T1>.Awaiter>)state)
{
TryInvokeContinuationT1(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task2.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT2(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6>, GDTask<T2>.Awaiter>)state)
{
TryInvokeContinuationT2(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task3.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT3(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6>, GDTask<T3>.Awaiter>)state)
{
TryInvokeContinuationT3(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task4.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT4(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6>, GDTask<T4>.Awaiter>)state)
{
TryInvokeContinuationT4(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task5.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT5(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6>, GDTask<T5>.Awaiter>)state)
{
TryInvokeContinuationT5(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task6.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT6(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6>, GDTask<T6>.Awaiter>)state)
{
TryInvokeContinuationT6(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
}
static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T5, T6> self, in GDTask<T1>.Awaiter awaiter)
{
try
{
self.t1 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 6)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6));
}
}
static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T5, T6> self, in GDTask<T2>.Awaiter awaiter)
{
try
{
self.t2 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 6)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6));
}
}
static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T5, T6> self, in GDTask<T3>.Awaiter awaiter)
{
try
{
self.t3 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 6)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6));
}
}
static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T5, T6> self, in GDTask<T4>.Awaiter awaiter)
{
try
{
self.t4 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 6)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6));
}
}
static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T5, T6> self, in GDTask<T5>.Awaiter awaiter)
{
try
{
self.t5 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 6)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6));
}
}
static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T5, T6> self, in GDTask<T6>.Awaiter awaiter)
{
try
{
self.t6 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 6)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6));
}
}
public (T1, T2, T3, T4, T5, T6) GetResult(short token)
{
TaskTracker.RemoveTracking(this);
GC.SuppressFinalize(this);
return core.GetResult(token);
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
public static GDTask<(T1, T2, T3, T4, T5, T6, T7)> WhenAll<T1, T2, T3, T4, T5, T6, T7>(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5, GDTask<T6> task6, GDTask<T7> task7)
{
if (task1.Status.IsCompletedSuccessfully() && task2.Status.IsCompletedSuccessfully() && task3.Status.IsCompletedSuccessfully() && task4.Status.IsCompletedSuccessfully() && task5.Status.IsCompletedSuccessfully() && task6.Status.IsCompletedSuccessfully() && task7.Status.IsCompletedSuccessfully())
{
return new GDTask<(T1, T2, T3, T4, T5, T6, T7)>((task1.GetAwaiter().GetResult(), task2.GetAwaiter().GetResult(), task3.GetAwaiter().GetResult(), task4.GetAwaiter().GetResult(), task5.GetAwaiter().GetResult(), task6.GetAwaiter().GetResult(), task7.GetAwaiter().GetResult()));
}
return new GDTask<(T1, T2, T3, T4, T5, T6, T7)>(new WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>(task1, task2, task3, task4, task5, task6, task7), 0);
}
sealed class WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> : IGDTaskSource<(T1, T2, T3, T4, T5, T6, T7)>
{
T1 t1 = default;
T2 t2 = default;
T3 t3 = default;
T4 t4 = default;
T5 t5 = default;
T6 t6 = default;
T7 t7 = default;
int completedCount;
GDTaskCompletionSourceCore<(T1, T2, T3, T4, T5, T6, T7)> core;
public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5, GDTask<T6> task6, GDTask<T7> task7)
{
TaskTracker.TrackActiveTask(this, 3);
this.completedCount = 0;
{
var awaiter = task1.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT1(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>, GDTask<T1>.Awaiter>)state)
{
TryInvokeContinuationT1(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task2.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT2(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>, GDTask<T2>.Awaiter>)state)
{
TryInvokeContinuationT2(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task3.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT3(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>, GDTask<T3>.Awaiter>)state)
{
TryInvokeContinuationT3(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task4.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT4(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>, GDTask<T4>.Awaiter>)state)
{
TryInvokeContinuationT4(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task5.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT5(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>, GDTask<T5>.Awaiter>)state)
{
TryInvokeContinuationT5(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task6.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT6(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>, GDTask<T6>.Awaiter>)state)
{
TryInvokeContinuationT6(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task7.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT7(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7>, GDTask<T7>.Awaiter>)state)
{
TryInvokeContinuationT7(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
}
static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> self, in GDTask<T1>.Awaiter awaiter)
{
try
{
self.t1 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 7)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7));
}
}
static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> self, in GDTask<T2>.Awaiter awaiter)
{
try
{
self.t2 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 7)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7));
}
}
static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> self, in GDTask<T3>.Awaiter awaiter)
{
try
{
self.t3 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 7)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7));
}
}
static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> self, in GDTask<T4>.Awaiter awaiter)
{
try
{
self.t4 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 7)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7));
}
}
static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> self, in GDTask<T5>.Awaiter awaiter)
{
try
{
self.t5 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 7)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7));
}
}
static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> self, in GDTask<T6>.Awaiter awaiter)
{
try
{
self.t6 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 7)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7));
}
}
static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> self, in GDTask<T7>.Awaiter awaiter)
{
try
{
self.t7 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 7)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7));
}
}
public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
{
TaskTracker.RemoveTracking(this);
GC.SuppressFinalize(this);
return core.GetResult(token);
}
void IGDTaskSource.GetResult(short token)
{
GetResult(token);
}
public GDTaskStatus GetStatus(short token)
{
return core.GetStatus(token);
}
public GDTaskStatus UnsafeGetStatus()
{
return core.UnsafeGetStatus();
}
public void OnCompleted(Action<object> continuation, object state, short token)
{
core.OnCompleted(continuation, state, token);
}
}
public static GDTask<(T1, T2, T3, T4, T5, T6, T7, T8)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8>(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5, GDTask<T6> task6, GDTask<T7> task7, GDTask<T8> task8)
{
if (task1.Status.IsCompletedSuccessfully() && task2.Status.IsCompletedSuccessfully() && task3.Status.IsCompletedSuccessfully() && task4.Status.IsCompletedSuccessfully() && task5.Status.IsCompletedSuccessfully() && task6.Status.IsCompletedSuccessfully() && task7.Status.IsCompletedSuccessfully() && task8.Status.IsCompletedSuccessfully())
{
return new GDTask<(T1, T2, T3, T4, T5, T6, T7, T8)>((task1.GetAwaiter().GetResult(), task2.GetAwaiter().GetResult(), task3.GetAwaiter().GetResult(), task4.GetAwaiter().GetResult(), task5.GetAwaiter().GetResult(), task6.GetAwaiter().GetResult(), task7.GetAwaiter().GetResult(), task8.GetAwaiter().GetResult()));
}
return new GDTask<(T1, T2, T3, T4, T5, T6, T7, T8)>(new WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>(task1, task2, task3, task4, task5, task6, task7, task8), 0);
}
sealed class WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> : IGDTaskSource<(T1, T2, T3, T4, T5, T6, T7, T8)>
{
T1 t1 = default;
T2 t2 = default;
T3 t3 = default;
T4 t4 = default;
T5 t5 = default;
T6 t6 = default;
T7 t7 = default;
T8 t8 = default;
int completedCount;
GDTaskCompletionSourceCore<(T1, T2, T3, T4, T5, T6, T7, T8)> core;
public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3> task3, GDTask<T4> task4, GDTask<T5> task5, GDTask<T6> task6, GDTask<T7> task7, GDTask<T8> task8)
{
TaskTracker.TrackActiveTask(this, 3);
this.completedCount = 0;
{
var awaiter = task1.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT1(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T1>.Awaiter>)state)
{
TryInvokeContinuationT1(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task2.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT2(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T2>.Awaiter>)state)
{
TryInvokeContinuationT2(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task3.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT3(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T3>.Awaiter>)state)
{
TryInvokeContinuationT3(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task4.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT4(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T4>.Awaiter>)state)
{
TryInvokeContinuationT4(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task5.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT5(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T5>.Awaiter>)state)
{
TryInvokeContinuationT5(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task6.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT6(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T6>.Awaiter>)state)
{
TryInvokeContinuationT6(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task7.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT7(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T7>.Awaiter>)state)
{
TryInvokeContinuationT7(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
{
var awaiter = task8.GetAwaiter();
if (awaiter.IsCompleted)
{
TryInvokeContinuationT8(this, awaiter);
}
else
{
awaiter.SourceOnCompleted(state =>
{
using (var t = (StateTuple<WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8>, GDTask<T8>.Awaiter>)state)
{
TryInvokeContinuationT8(t.Item1, t.Item2);
}
}, StateTuple.Create(this, awaiter));
}
}
}
static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> self, in GDTask<T1>.Awaiter awaiter)
{
try
{
self.t1 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 8)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7, self.t8));
}
}
static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> self, in GDTask<T2>.Awaiter awaiter)
{
try
{
self.t2 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 8)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7, self.t8));
}
}
static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> self, in GDTask<T3>.Awaiter awaiter)
{
try
{
self.t3 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 8)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7, self.t8));
}
}
static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> self, in GDTask<T4>.Awaiter awaiter)
{
try
{
self.t4 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 8)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7, self.t8));
}
}
static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> self, in GDTask<T5>.Awaiter awaiter)
{
try
{
self.t5 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 8)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7, self.t8));
}
}
static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> self, in GDTask<T6>.Awaiter awaiter)
{
try
{
self.t6 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 8)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7, self.t8));
}
}
static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> self, in GDTask<T7>.Awaiter awaiter)
{
try
{
self.t7 = awaiter.GetResult();
}
catch (Exception ex)
{
self.core.TrySetException(ex);
return;
}
if (Interlocked.Increment(ref self.completedCount) == 8)
{
self.core.TrySetResult((self.t1, self.t2, self.t3, self.t4, self.t5, self.t6, self.t7, self.t8));
}
}
static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T
gitextract_fw_63qmu/
├── .github/
│ └── workflows/
│ └── deploy.yml
├── .gitignore
├── .gitmodules
├── GDTask.csproj
├── GDTask.sln
├── LICENSE.md
├── README.md
├── addons/
│ └── GDTask/
│ ├── AsyncLazy.cs
│ ├── AsyncLazy.cs.uid
│ ├── AsyncUnit.cs
│ ├── AsyncUnit.cs.uid
│ ├── Autoload/
│ │ ├── GDTaskPlayerLoopAutoload.cs
│ │ ├── GDTaskPlayerLoopAutoload.cs.uid
│ │ ├── ProcessListener.cs
│ │ └── ProcessListener.cs.uid
│ ├── CancellationTokenEqualityComparer.cs
│ ├── CancellationTokenEqualityComparer.cs.uid
│ ├── CancellationTokenExtensions.cs
│ ├── CancellationTokenExtensions.cs.uid
│ ├── CancellationTokenSourceExtensions.cs
│ ├── CancellationTokenSourceExtensions.cs.uid
│ ├── CompilerServices/
│ │ ├── AsyncGDTaskMethodBuilder.cs
│ │ ├── AsyncGDTaskMethodBuilder.cs.uid
│ │ ├── AsyncGDTaskVoidMethodBuilder.cs
│ │ ├── AsyncGDTaskVoidMethodBuilder.cs.uid
│ │ ├── StateMachineRunner.cs
│ │ └── StateMachineRunner.cs.uid
│ ├── GDTask.Delay.cs
│ ├── GDTask.Delay.cs.uid
│ ├── GDTask.Factory.cs
│ ├── GDTask.Factory.cs.uid
│ ├── GDTask.Run.cs
│ ├── GDTask.Run.cs.uid
│ ├── GDTask.Threading.cs
│ ├── GDTask.Threading.cs.uid
│ ├── GDTask.ToSignal.cs
│ ├── GDTask.ToSignal.cs.uid
│ ├── GDTask.WaitUntil.cs
│ ├── GDTask.WaitUntil.cs.uid
│ ├── GDTask.WhenAll.Generated.cs
│ ├── GDTask.WhenAll.Generated.cs.uid
│ ├── GDTask.WhenAll.cs
│ ├── GDTask.WhenAll.cs.uid
│ ├── GDTask.WhenAny.Generated.cs
│ ├── GDTask.WhenAny.Generated.cs.uid
│ ├── GDTask.WhenAny.cs
│ ├── GDTask.WhenAny.cs.uid
│ ├── GDTask.cs
│ ├── GDTask.cs.uid
│ ├── GDTaskCompletionSource.cs
│ ├── GDTaskCompletionSource.cs.uid
│ ├── GDTaskExtensions.Shorthand.cs
│ ├── GDTaskExtensions.Shorthand.cs.uid
│ ├── GDTaskExtensions.cs
│ ├── GDTaskExtensions.cs.uid
│ ├── GDTaskObservableExtensions.cs
│ ├── GDTaskObservableExtensions.cs.uid
│ ├── GDTaskScheduler.cs
│ ├── GDTaskScheduler.cs.uid
│ ├── GDTaskSynchronizationContext.cs
│ ├── GDTaskSynchronizationContext.cs.uid
│ ├── GDTaskVoid.cs
│ ├── GDTaskVoid.cs.uid
│ ├── IGDTaskSource.cs
│ ├── IGDTaskSource.cs.uid
│ ├── Internal/
│ │ ├── ArrayPool.cs
│ │ ├── ArrayPool.cs.uid
│ │ ├── ArrayPoolUtil.cs
│ │ ├── ArrayPoolUtil.cs.uid
│ │ ├── ArrayUtil.cs
│ │ ├── ArrayUtil.cs.uid
│ │ ├── ContinuationQueue.cs
│ │ ├── ContinuationQueue.cs.uid
│ │ ├── DiagnosticsExtensions.cs
│ │ ├── DiagnosticsExtensions.cs.uid
│ │ ├── Error.cs
│ │ ├── Error.cs.uid
│ │ ├── GodotEqualityComparer.cs
│ │ ├── GodotEqualityComparer.cs.uid
│ │ ├── MinimumQueue.cs
│ │ ├── MinimumQueue.cs.uid
│ │ ├── PlayerLoopRunner.cs
│ │ ├── PlayerLoopRunner.cs.uid
│ │ ├── PooledDelegate.cs
│ │ ├── PooledDelegate.cs.uid
│ │ ├── RuntimeHelpersAbstraction.cs
│ │ ├── RuntimeHelpersAbstraction.cs.uid
│ │ ├── StatePool.cs
│ │ ├── StatePool.cs.uid
│ │ ├── TaskTracker.cs
│ │ ├── TaskTracker.cs.uid
│ │ ├── ValueStopwatch.cs
│ │ ├── ValueStopwatch.cs.uid
│ │ ├── WeakDictionary.cs
│ │ └── WeakDictionary.cs.uid
│ ├── MoveNextSource.cs
│ ├── MoveNextSource.cs.uid
│ ├── PlayerLoopTimer.cs
│ ├── PlayerLoopTimer.cs.uid
│ ├── Progress.cs
│ ├── Progress.cs.uid
│ ├── TaskPool.cs
│ ├── TaskPool.cs.uid
│ ├── TimeoutController.cs
│ ├── TimeoutController.cs.uid
│ ├── TriggerEvent.cs
│ ├── TriggerEvent.cs.uid
│ └── Triggers/
│ ├── AsyncDestroyTrigger.cs
│ ├── AsyncDestroyTrigger.cs.uid
│ ├── AsyncEnterTreeTrigger.cs
│ ├── AsyncEnterTreeTrigger.cs.uid
│ ├── AsyncReadyTrigger.cs
│ ├── AsyncReadyTrigger.cs.uid
│ ├── AsyncTriggerBase.cs
│ ├── AsyncTriggerBase.cs.uid
│ ├── AsyncTriggerExtensions.cs
│ ├── AsyncTriggerExtensions.cs.uid
│ ├── NodeMessagesTriggers.cs
│ └── NodeMessagesTriggers.cs.uid
├── bootsplash.png.import
├── default_env.tres
├── icon.import
├── icon.png.import
├── project.godot
└── tests/
└── manual/
├── Test.cs
├── Test.cs.uid
└── Test.tscn
Showing preview only (761K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (1577 symbols across 57 files)
FILE: addons/GDTask/AsyncLazy.cs
class AsyncLazy (line 6) | public partial class AsyncLazy
method AsyncLazy (line 17) | public AsyncLazy(Func<GDTask> taskFactory)
method AsyncLazy (line 25) | internal AsyncLazy(GDTask task)
method GetAwaiter (line 54) | public GDTask.Awaiter GetAwaiter() => Task.GetAwaiter();
method EnsureInitialized (line 56) | void EnsureInitialized()
method EnsureInitializedCore (line 66) | void EnsureInitializedCore()
method SetCompletionSource (line 93) | void SetCompletionSource(in GDTask.Awaiter awaiter)
method SetCompletionSource (line 106) | static void SetCompletionSource(object state)
method AsyncLazy (line 136) | public AsyncLazy(Func<GDTask<T>> taskFactory)
method AsyncLazy (line 144) | internal AsyncLazy(GDTask<T> task)
method GetAwaiter (line 173) | public GDTask<T>.Awaiter GetAwaiter() => Task.GetAwaiter();
method EnsureInitialized (line 175) | void EnsureInitialized()
method EnsureInitializedCore (line 185) | void EnsureInitializedCore()
method SetCompletionSource (line 212) | void SetCompletionSource(in GDTask<T>.Awaiter awaiter)
method SetCompletionSource (line 225) | static void SetCompletionSource(object state)
class AsyncLazy (line 125) | public partial class AsyncLazy<T>
method AsyncLazy (line 17) | public AsyncLazy(Func<GDTask> taskFactory)
method AsyncLazy (line 25) | internal AsyncLazy(GDTask task)
method GetAwaiter (line 54) | public GDTask.Awaiter GetAwaiter() => Task.GetAwaiter();
method EnsureInitialized (line 56) | void EnsureInitialized()
method EnsureInitializedCore (line 66) | void EnsureInitializedCore()
method SetCompletionSource (line 93) | void SetCompletionSource(in GDTask.Awaiter awaiter)
method SetCompletionSource (line 106) | static void SetCompletionSource(object state)
method AsyncLazy (line 136) | public AsyncLazy(Func<GDTask<T>> taskFactory)
method AsyncLazy (line 144) | internal AsyncLazy(GDTask<T> task)
method GetAwaiter (line 173) | public GDTask<T>.Awaiter GetAwaiter() => Task.GetAwaiter();
method EnsureInitialized (line 175) | void EnsureInitialized()
method EnsureInitializedCore (line 185) | void EnsureInitializedCore()
method SetCompletionSource (line 212) | void SetCompletionSource(in GDTask<T>.Awaiter awaiter)
method SetCompletionSource (line 225) | static void SetCompletionSource(object state)
FILE: addons/GDTask/AsyncUnit.cs
type AsyncUnit (line 7) | public readonly struct AsyncUnit : IEquatable<AsyncUnit>
method GetHashCode (line 11) | public override int GetHashCode()
method Equals (line 16) | public bool Equals(AsyncUnit other)
method ToString (line 21) | public override string ToString()
FILE: addons/GDTask/Autoload/GDTaskPlayerLoopAutoload.cs
class GDTaskLoopRunners (line 7) | public static class GDTaskLoopRunners
type GDTaskLoopRunnerProcess (line 9) | public struct GDTaskLoopRunnerProcess { };
type GDTaskLoopRunnerPhysicsProcess (line 10) | public struct GDTaskLoopRunnerPhysicsProcess { };
type PlayerLoopTiming (line 13) | public enum PlayerLoopTiming
type IPlayerLoopItem (line 21) | public interface IPlayerLoopItem
method MoveNext (line 23) | bool MoveNext();
class GDTaskPlayerLoopAutoload (line 29) | public partial class GDTaskPlayerLoopAutoload : Node
method AddAction (line 33) | public static void AddAction(PlayerLoopTiming timing, IPlayerLoopItem ...
method ThrowInvalidLoopTiming (line 34) | public static void ThrowInvalidLoopTiming(PlayerLoopTiming playerLoopT...
method AddContinuation (line 35) | public static void AddContinuation(PlayerLoopTiming timing, Action con...
method LocalAddAction (line 37) | public void LocalAddAction(PlayerLoopTiming timing, IPlayerLoopItem ac...
method LocalAddContinuation (line 48) | public void LocalAddContinuation(PlayerLoopTiming timing, Action conti...
method _EnterTree (line 84) | public override void _EnterTree()
method Initialize (line 95) | private void Initialize()
method _Notification (line 118) | public override void _Notification(int what)
method _Process (line 134) | public override void _Process(double delta)
method _PhysicsProcess (line 140) | public override void _PhysicsProcess(double delta)
method PauseProcess (line 146) | private void PauseProcess(double delta)
method PausePhysicsProcess (line 152) | private void PausePhysicsProcess(double delta)
FILE: addons/GDTask/Autoload/ProcessListener.cs
class ProcessListener (line 6) | public partial class ProcessListener : Node
method _Process (line 11) | public override void _Process(double delta)
method _PhysicsProcess (line 16) | public override void _PhysicsProcess(double delta)
FILE: addons/GDTask/CancellationTokenEqualityComparer.cs
class CancellationTokenEqualityComparer (line 6) | public partial class CancellationTokenEqualityComparer : IEqualityCompar...
method Equals (line 10) | public bool Equals(CancellationToken x, CancellationToken y)
method GetHashCode (line 15) | public int GetHashCode(CancellationToken obj)
FILE: addons/GDTask/CancellationTokenExtensions.cs
class CancellationTokenExtensions (line 7) | public static class CancellationTokenExtensions
method ToCancellationToken (line 12) | public static CancellationToken ToCancellationToken(this GDTask task)
method ToCancellationToken (line 19) | public static CancellationToken ToCancellationToken(this GDTask task, ...
method ToCancellationToken (line 37) | public static CancellationToken ToCancellationToken<T>(this GDTask<T> ...
method ToCancellationToken (line 42) | public static CancellationToken ToCancellationToken<T>(this GDTask<T> ...
method ToCancellationTokenCore (line 47) | static async GDTaskVoid ToCancellationTokenCore(GDTask task, Cancellat...
method ToGDTask (line 61) | public static (GDTask, CancellationTokenRegistration) ToGDTask(this Ca...
method Callback (line 72) | static void Callback(object state)
method WaitUntilCanceled (line 78) | public static CancellationTokenAwaitable WaitUntilCanceled(this Cancel...
method RegisterWithoutCaptureExecutionContext (line 83) | public static CancellationTokenRegistration RegisterWithoutCaptureExec...
method RegisterWithoutCaptureExecutionContext (line 105) | public static CancellationTokenRegistration RegisterWithoutCaptureExec...
method AddTo (line 127) | public static CancellationTokenRegistration AddTo(this IDisposable dis...
method DisposeCallback (line 132) | static void DisposeCallback(object state)
type CancellationTokenAwaitable (line 139) | public struct CancellationTokenAwaitable
method CancellationTokenAwaitable (line 143) | public CancellationTokenAwaitable(CancellationToken cancellationToken)
method GetAwaiter (line 148) | public Awaiter GetAwaiter()
type Awaiter (line 153) | public struct Awaiter : ICriticalNotifyCompletion
method Awaiter (line 157) | public Awaiter(CancellationToken cancellationToken)
method GetResult (line 164) | public void GetResult()
method OnCompleted (line 168) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 173) | public void UnsafeOnCompleted(Action continuation)
FILE: addons/GDTask/CancellationTokenSourceExtensions.cs
class CancellationTokenSourceExtensions (line 10) | public static partial class CancellationTokenSourceExtensions
method CancelCancellationTokenSourceState (line 14) | static void CancelCancellationTokenSourceState(object state)
method CancelAfterSlim (line 20) | public static IDisposable CancelAfterSlim(this CancellationTokenSource...
method CancelAfterSlim (line 25) | public static IDisposable CancelAfterSlim(this CancellationTokenSource...
method RegisterRaiseCancelOnDestroy (line 30) | public static void RegisterRaiseCancelOnDestroy(this CancellationToken...
FILE: addons/GDTask/CompilerServices/AsyncGDTaskMethodBuilder.cs
type AsyncGDTaskMethodBuilder (line 9) | [StructLayout(LayoutKind.Auto)]
method Create (line 16) | [DebuggerHidden]
method SetException (line 46) | [DebuggerHidden]
method SetResult (line 61) | [DebuggerHidden]
method AwaitOnCompleted (line 72) | [DebuggerHidden]
method AwaitUnsafeOnCompleted (line 87) | [DebuggerHidden]
method Start (line 103) | [DebuggerHidden]
method SetStateMachine (line 112) | [DebuggerHidden]
method Create (line 143) | [DebuggerHidden]
method SetException (line 173) | [DebuggerHidden]
method SetResult (line 188) | [DebuggerHidden]
method AwaitOnCompleted (line 203) | [DebuggerHidden]
method AwaitUnsafeOnCompleted (line 218) | [DebuggerHidden]
method Start (line 234) | [DebuggerHidden]
method SetStateMachine (line 243) | [DebuggerHidden]
type AsyncGDTaskMethodBuilder (line 135) | [StructLayout(LayoutKind.Auto)]
method Create (line 16) | [DebuggerHidden]
method SetException (line 46) | [DebuggerHidden]
method SetResult (line 61) | [DebuggerHidden]
method AwaitOnCompleted (line 72) | [DebuggerHidden]
method AwaitUnsafeOnCompleted (line 87) | [DebuggerHidden]
method Start (line 103) | [DebuggerHidden]
method SetStateMachine (line 112) | [DebuggerHidden]
method Create (line 143) | [DebuggerHidden]
method SetException (line 173) | [DebuggerHidden]
method SetResult (line 188) | [DebuggerHidden]
method AwaitOnCompleted (line 203) | [DebuggerHidden]
method AwaitUnsafeOnCompleted (line 218) | [DebuggerHidden]
method Start (line 234) | [DebuggerHidden]
method SetStateMachine (line 243) | [DebuggerHidden]
FILE: addons/GDTask/CompilerServices/AsyncGDTaskVoidMethodBuilder.cs
type AsyncGDTaskVoidMethodBuilder (line 10) | [StructLayout(LayoutKind.Auto)]
method Create (line 16) | [DebuggerHidden]
method SetException (line 35) | [DebuggerHidden]
method SetResult (line 50) | [DebuggerHidden]
method AwaitOnCompleted (line 63) | [DebuggerHidden]
method AwaitUnsafeOnCompleted (line 78) | [DebuggerHidden]
method Start (line 94) | [DebuggerHidden]
method SetStateMachine (line 102) | [DebuggerHidden]
FILE: addons/GDTask/CompilerServices/StateMachineRunner.cs
type IStateMachineRunner (line 10) | internal interface IStateMachineRunner
method Return (line 13) | void Return();
type IStateMachineRunnerPromise (line 18) | internal interface IStateMachineRunnerPromise : IGDTaskSource
method SetResult (line 22) | void SetResult();
method SetException (line 23) | void SetException(Exception exception);
method SetResult (line 30) | void SetResult(T result);
method SetException (line 31) | void SetException(Exception exception);
type IStateMachineRunnerPromise (line 26) | internal interface IStateMachineRunnerPromise<T> : IGDTaskSource<T>
method SetResult (line 22) | void SetResult();
method SetException (line 23) | void SetException(Exception exception);
method SetResult (line 30) | void SetResult(T result);
method SetException (line 31) | void SetException(Exception exception);
class StateMachineUtility (line 34) | internal static class StateMachineUtility
method GetState (line 37) | public static int GetState(IAsyncStateMachine stateMachine)
class AsyncGDTaskVoid (line 45) | internal sealed class AsyncGDTaskVoid<TStateMachine> : IStateMachineRunn...
method AsyncGDTaskVoid (line 56) | public AsyncGDTaskVoid()
method SetStateMachine (line 61) | public static void SetStateMachine(ref TStateMachine stateMachine, ref...
method AsyncGDTaskVoid (line 73) | static AsyncGDTaskVoid()
method Return (line 81) | public void Return()
method Run (line 88) | [DebuggerHidden]
method GetStatus (line 97) | GDTaskStatus IGDTaskSource.GetStatus(short token)
method UnsafeGetStatus (line 102) | GDTaskStatus IGDTaskSource.UnsafeGetStatus()
method OnCompleted (line 107) | void IGDTaskSource.OnCompleted(Action<object> continuation, object sta...
method GetResult (line 111) | void IGDTaskSource.GetResult(short token)
class AsyncGDTask (line 116) | internal sealed class AsyncGDTask<TStateMachine> : IStateMachineRunnerPr...
method AsyncGDTask (line 125) | AsyncGDTask()
method SetStateMachine (line 130) | public static void SetStateMachine(ref TStateMachine stateMachine, ref...
method AsyncGDTask (line 145) | static AsyncGDTask()
method Return (line 150) | void Return()
method TryReturn (line 158) | bool TryReturn()
method Run (line 166) | [DebuggerHidden]
method SetResult (line 182) | [DebuggerHidden]
method SetException (line 188) | [DebuggerHidden]
method GetResult (line 194) | [DebuggerHidden]
method GetStatus (line 207) | [DebuggerHidden]
method UnsafeGetStatus (line 213) | [DebuggerHidden]
method OnCompleted (line 219) | [DebuggerHidden]
method AsyncGDTask (line 236) | AsyncGDTask()
method SetStateMachine (line 241) | public static void SetStateMachine(ref TStateMachine stateMachine, ref...
method AsyncGDTask (line 256) | static AsyncGDTask()
method Return (line 261) | void Return()
method TryReturn (line 269) | bool TryReturn()
method Run (line 277) | [DebuggerHidden]
method SetResult (line 293) | [DebuggerHidden]
method SetException (line 299) | [DebuggerHidden]
method GetResult (line 305) | [DebuggerHidden]
method GetResult (line 318) | [DebuggerHidden]
method GetStatus (line 324) | [DebuggerHidden]
method UnsafeGetStatus (line 330) | [DebuggerHidden]
method OnCompleted (line 336) | [DebuggerHidden]
class AsyncGDTask (line 226) | internal sealed class AsyncGDTask<TStateMachine, T> : IStateMachineRunne...
method AsyncGDTask (line 125) | AsyncGDTask()
method SetStateMachine (line 130) | public static void SetStateMachine(ref TStateMachine stateMachine, ref...
method AsyncGDTask (line 145) | static AsyncGDTask()
method Return (line 150) | void Return()
method TryReturn (line 158) | bool TryReturn()
method Run (line 166) | [DebuggerHidden]
method SetResult (line 182) | [DebuggerHidden]
method SetException (line 188) | [DebuggerHidden]
method GetResult (line 194) | [DebuggerHidden]
method GetStatus (line 207) | [DebuggerHidden]
method UnsafeGetStatus (line 213) | [DebuggerHidden]
method OnCompleted (line 219) | [DebuggerHidden]
method AsyncGDTask (line 236) | AsyncGDTask()
method SetStateMachine (line 241) | public static void SetStateMachine(ref TStateMachine stateMachine, ref...
method AsyncGDTask (line 256) | static AsyncGDTask()
method Return (line 261) | void Return()
method TryReturn (line 269) | bool TryReturn()
method Run (line 277) | [DebuggerHidden]
method SetResult (line 293) | [DebuggerHidden]
method SetException (line 299) | [DebuggerHidden]
method GetResult (line 305) | [DebuggerHidden]
method GetResult (line 318) | [DebuggerHidden]
method GetStatus (line 324) | [DebuggerHidden]
method UnsafeGetStatus (line 330) | [DebuggerHidden]
method OnCompleted (line 336) | [DebuggerHidden]
FILE: addons/GDTask/GDTask.Delay.cs
type DelayType (line 9) | public enum DelayType
type GDTask (line 17) | public partial struct GDTask
method Yield (line 19) | public static YieldAwaitable Yield()
method Yield (line 25) | public static YieldAwaitable Yield(PlayerLoopTiming timing)
method Yield (line 31) | public static GDTask Yield(CancellationToken cancellationToken)
method Yield (line 36) | public static GDTask Yield(PlayerLoopTiming timing, CancellationToken ...
method NextFrame (line 44) | public static GDTask NextFrame()
method NextFrame (line 52) | public static GDTask NextFrame(PlayerLoopTiming timing)
method NextFrame (line 60) | public static GDTask NextFrame(CancellationToken cancellationToken)
method NextFrame (line 68) | public static GDTask NextFrame(PlayerLoopTiming timing, CancellationTo...
method WaitForEndOfFrame (line 73) | public static YieldAwaitable WaitForEndOfFrame()
method WaitForEndOfFrame (line 78) | public static GDTask WaitForEndOfFrame(CancellationToken cancellationT...
method WaitForPhysicsProcess (line 86) | public static YieldAwaitable WaitForPhysicsProcess()
method WaitForPhysicsProcess (line 94) | public static GDTask WaitForPhysicsProcess(CancellationToken cancellat...
method DelayFrame (line 99) | public static GDTask DelayFrame(int delayFrameCount, PlayerLoopTiming ...
method Delay (line 109) | public static GDTask Delay(int millisecondsDelay, PlayerLoopTiming del...
method Delay (line 115) | public static GDTask Delay(TimeSpan delayTimeSpan, PlayerLoopTiming de...
method Delay (line 120) | public static GDTask Delay(int millisecondsDelay, DelayType delayType,...
method Delay (line 126) | public static GDTask Delay(TimeSpan delayTimeSpan, DelayType delayType...
class YieldPromise (line 154) | sealed class YieldPromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolN...
method YieldPromise (line 160) | static YieldPromise()
method YieldPromise (line 168) | YieldPromise()
method Create (line 172) | public static IGDTaskSource Create(PlayerLoopTiming timing, Cancella...
method GetResult (line 195) | public void GetResult(short token)
method GetStatus (line 207) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 212) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 217) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 222) | public bool MoveNext()
method TryReturn (line 234) | bool TryReturn()
class NextFramePromise (line 243) | sealed class NextFramePromise : IGDTaskSource, IPlayerLoopItem, ITaskP...
method NextFramePromise (line 249) | static NextFramePromise()
method NextFramePromise (line 259) | NextFramePromise()
method Create (line 263) | public static IGDTaskSource Create(PlayerLoopTiming timing, Cancella...
method GetResult (line 288) | public void GetResult(short token)
method GetStatus (line 300) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 305) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 310) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 315) | public bool MoveNext()
method TryReturn (line 332) | bool TryReturn()
class DelayFramePromise (line 341) | sealed class DelayFramePromise : IGDTaskSource, IPlayerLoopItem, ITask...
method DelayFramePromise (line 347) | static DelayFramePromise()
method DelayFramePromise (line 360) | DelayFramePromise()
method Create (line 364) | public static IGDTaskSource Create(int delayFrameCount, PlayerLoopTi...
method GetResult (line 390) | public void GetResult(short token)
method GetStatus (line 402) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 407) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 412) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 417) | public bool MoveNext()
method TryReturn (line 461) | bool TryReturn()
class DelayPromise (line 472) | sealed class DelayPromise : IGDTaskSource, IPlayerLoopItem, ITaskPoolN...
method DelayPromise (line 478) | static DelayPromise()
method DelayPromise (line 492) | DelayPromise()
method Create (line 496) | public static IGDTaskSource Create(TimeSpan delayTimeSpan, PlayerLoo...
method GetResult (line 524) | public void GetResult(short token)
method GetStatus (line 536) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 541) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 546) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 551) | public bool MoveNext()
method TryReturn (line 581) | bool TryReturn()
class DelayRealtimePromise (line 592) | sealed class DelayRealtimePromise : IGDTaskSource, IPlayerLoopItem, IT...
method DelayRealtimePromise (line 598) | static DelayRealtimePromise()
method DelayRealtimePromise (line 609) | DelayRealtimePromise()
method Create (line 613) | public static IGDTaskSource Create(TimeSpan delayTimeSpan, PlayerLoo...
method GetResult (line 637) | public void GetResult(short token)
method GetStatus (line 649) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 654) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 659) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 664) | public bool MoveNext()
method TryReturn (line 687) | bool TryReturn()
type YieldAwaitable (line 698) | public readonly struct YieldAwaitable
method YieldAwaitable (line 702) | public YieldAwaitable(PlayerLoopTiming timing)
method GetAwaiter (line 707) | public Awaiter GetAwaiter()
method ToGDTask (line 712) | public GDTask ToGDTask()
type Awaiter (line 717) | public readonly struct Awaiter : ICriticalNotifyCompletion
method Awaiter (line 721) | public Awaiter(PlayerLoopTiming timing)
method GetResult (line 728) | public void GetResult() { }
method OnCompleted (line 730) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 735) | public void UnsafeOnCompleted(Action continuation)
FILE: addons/GDTask/GDTask.Factory.cs
type GDTask (line 9) | public partial struct GDTask
class CanceledGDTaskCache (line 16) | static class CanceledGDTaskCache<T>
method CanceledGDTaskCache (line 20) | static CanceledGDTaskCache()
method FromException (line 28) | public static GDTask FromException(Exception ex)
method FromException (line 38) | public static GDTask<T> FromException<T>(Exception ex)
method FromResult (line 48) | public static GDTask<T> FromResult<T>(T value)
method FromCanceled (line 53) | public static GDTask FromCanceled(CancellationToken cancellationToken ...
method FromCanceled (line 65) | public static GDTask<T> FromCanceled<T>(CancellationToken cancellation...
method Create (line 77) | public static GDTask Create(Func<GDTask> factory)
method Create (line 82) | public static GDTask<T> Create<T>(Func<GDTask<T>> factory)
method Lazy (line 87) | public static AsyncLazy Lazy(Func<GDTask> factory)
method Lazy (line 92) | public static AsyncLazy<T> Lazy<T>(Func<GDTask<T>> factory)
method Void (line 100) | public static void Void(Func<GDTaskVoid> asyncAction)
method Void (line 108) | public static void Void(Func<CancellationToken, GDTaskVoid> asyncActio...
method Void (line 116) | public static void Void<T>(Func<T, GDTaskVoid> asyncAction, T state)
method Action (line 125) | public static Action Action(Func<GDTaskVoid> asyncAction)
method Action (line 133) | public static Action Action(Func<CancellationToken, GDTaskVoid> asyncA...
method Defer (line 141) | public static GDTask Defer(Func<GDTask> factory)
method Defer (line 149) | public static GDTask<T> Defer<T>(Func<GDTask<T>> factory)
method Never (line 157) | public static GDTask Never(CancellationToken cancellationToken = default)
method Never (line 165) | public static GDTask<T> Never<T>(CancellationToken cancellationToken =...
class ExceptionResultSource (line 170) | sealed class ExceptionResultSource : IGDTaskSource
method ExceptionResultSource (line 175) | public ExceptionResultSource(Exception exception)
method GetResult (line 180) | public void GetResult(short token)
method GetStatus (line 190) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 195) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 200) | public void OnCompleted(Action<object> continuation, object state, s...
method ExceptionResultSource (line 219) | public ExceptionResultSource(Exception exception)
method GetResult (line 224) | public T GetResult(short token)
method GetResult (line 235) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 245) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 250) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 255) | public void OnCompleted(Action<object> continuation, object state, s...
class ExceptionResultSource (line 214) | sealed class ExceptionResultSource<T> : IGDTaskSource<T>
method ExceptionResultSource (line 175) | public ExceptionResultSource(Exception exception)
method GetResult (line 180) | public void GetResult(short token)
method GetStatus (line 190) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 195) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 200) | public void OnCompleted(Action<object> continuation, object state, s...
method ExceptionResultSource (line 219) | public ExceptionResultSource(Exception exception)
method GetResult (line 224) | public T GetResult(short token)
method GetResult (line 235) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 245) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 250) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 255) | public void OnCompleted(Action<object> continuation, object state, s...
class CanceledResultSource (line 269) | sealed class CanceledResultSource : IGDTaskSource
method CanceledResultSource (line 273) | public CanceledResultSource(CancellationToken cancellationToken)
method GetResult (line 278) | public void GetResult(short token)
method GetStatus (line 283) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 288) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 293) | public void OnCompleted(Action<object> continuation, object state, s...
method CanceledResultSource (line 303) | public CanceledResultSource(CancellationToken cancellationToken)
method GetResult (line 308) | public T GetResult(short token)
method GetResult (line 313) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 318) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 323) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 328) | public void OnCompleted(Action<object> continuation, object state, s...
class CanceledResultSource (line 299) | sealed class CanceledResultSource<T> : IGDTaskSource<T>
method CanceledResultSource (line 273) | public CanceledResultSource(CancellationToken cancellationToken)
method GetResult (line 278) | public void GetResult(short token)
method GetStatus (line 283) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 288) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 293) | public void OnCompleted(Action<object> continuation, object state, s...
method CanceledResultSource (line 303) | public CanceledResultSource(CancellationToken cancellationToken)
method GetResult (line 308) | public T GetResult(short token)
method GetResult (line 313) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 318) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 323) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 328) | public void OnCompleted(Action<object> continuation, object state, s...
class DeferPromise (line 334) | sealed class DeferPromise : IGDTaskSource
method DeferPromise (line 340) | public DeferPromise(Func<GDTask> factory)
method GetResult (line 345) | public void GetResult(short token)
method GetStatus (line 350) | public GDTaskStatus GetStatus(short token)
method OnCompleted (line 362) | public void OnCompleted(Action<object> continuation, object state, s...
method UnsafeGetStatus (line 367) | public GDTaskStatus UnsafeGetStatus()
method DeferPromise (line 379) | public DeferPromise(Func<GDTask<T>> factory)
method GetResult (line 384) | public T GetResult(short token)
method GetResult (line 389) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 394) | public GDTaskStatus GetStatus(short token)
method OnCompleted (line 406) | public void OnCompleted(Action<object> continuation, object state, s...
method UnsafeGetStatus (line 411) | public GDTaskStatus UnsafeGetStatus()
class DeferPromise (line 373) | sealed class DeferPromise<T> : IGDTaskSource<T>
method DeferPromise (line 340) | public DeferPromise(Func<GDTask> factory)
method GetResult (line 345) | public void GetResult(short token)
method GetStatus (line 350) | public GDTaskStatus GetStatus(short token)
method OnCompleted (line 362) | public void OnCompleted(Action<object> continuation, object state, s...
method UnsafeGetStatus (line 367) | public GDTaskStatus UnsafeGetStatus()
method DeferPromise (line 379) | public DeferPromise(Func<GDTask<T>> factory)
method GetResult (line 384) | public T GetResult(short token)
method GetResult (line 389) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 394) | public GDTaskStatus GetStatus(short token)
method OnCompleted (line 406) | public void OnCompleted(Action<object> continuation, object state, s...
method UnsafeGetStatus (line 411) | public GDTaskStatus UnsafeGetStatus()
class NeverPromise (line 417) | sealed class NeverPromise<T> : IGDTaskSource<T>
method NeverPromise (line 424) | public NeverPromise(CancellationToken cancellationToken)
method CancellationCallback (line 433) | static void CancellationCallback(object state)
method GetResult (line 439) | public T GetResult(short token)
method GetStatus (line 444) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 449) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 454) | public void OnCompleted(Action<object> continuation, object state, s...
method GetResult (line 459) | void IGDTaskSource.GetResult(short token)
class CompletedTasks (line 466) | internal static class CompletedTasks
FILE: addons/GDTask/GDTask.Run.cs
type GDTask (line 6) | public partial struct GDTask
method Run (line 10) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method Run (line 16) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method Run (line 22) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method Run (line 28) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method Run (line 34) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method Run (line 40) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method Run (line 46) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method Run (line 52) | [Obsolete("GDTask.Run is similar as Task.Run, it uses ThreadPool. For ...
method RunOnThreadPool (line 61) | public static async GDTask RunOnThreadPool(Action action, bool configu...
method RunOnThreadPool (line 89) | public static async GDTask RunOnThreadPool(Action<object> action, obje...
method RunOnThreadPool (line 117) | public static async GDTask RunOnThreadPool(Func<GDTask> action, bool c...
method RunOnThreadPool (line 145) | public static async GDTask RunOnThreadPool(Func<object, GDTask> action...
method RunOnThreadPool (line 173) | public static async GDTask<T> RunOnThreadPool<T>(Func<T> func, bool co...
method RunOnThreadPool (line 200) | public static async GDTask<T> RunOnThreadPool<T>(Func<GDTask<T>> func,...
method RunOnThreadPool (line 230) | public static async GDTask<T> RunOnThreadPool<T>(Func<object, T> func,...
method RunOnThreadPool (line 257) | public static async GDTask<T> RunOnThreadPool<T>(Func<object, GDTask<T...
FILE: addons/GDTask/GDTask.Threading.cs
type GDTask (line 9) | public partial struct GDTask
method SwitchToMainThread (line 15) | public static SwitchToMainThreadAwaitable SwitchToMainThread(Cancellat...
method SwitchToMainThread (line 23) | public static SwitchToMainThreadAwaitable SwitchToMainThread(PlayerLoo...
method ReturnToMainThread (line 31) | public static ReturnToMainThread ReturnToMainThread(CancellationToken ...
method ReturnToMainThread (line 39) | public static ReturnToMainThread ReturnToMainThread(PlayerLoopTiming t...
method Post (line 47) | public static void Post(Action action, PlayerLoopTiming timing = Playe...
method SwitchToThreadPool (line 53) | public static SwitchToThreadPoolAwaitable SwitchToThreadPool()
method SwitchToTaskPool (line 61) | public static SwitchToTaskPoolAwaitable SwitchToTaskPool()
method SwitchToSynchronizationContext (line 66) | public static SwitchToSynchronizationContextAwaitable SwitchToSynchron...
method ReturnToSynchronizationContext (line 72) | public static ReturnToSynchronizationContext ReturnToSynchronizationCo...
method ReturnToCurrentSynchronizationContext (line 77) | public static ReturnToSynchronizationContext ReturnToCurrentSynchroniz...
type SwitchToMainThreadAwaitable (line 83) | public struct SwitchToMainThreadAwaitable
method SwitchToMainThreadAwaitable (line 88) | public SwitchToMainThreadAwaitable(PlayerLoopTiming playerLoopTiming, ...
method GetAwaiter (line 94) | public Awaiter GetAwaiter() => new Awaiter(playerLoopTiming, cancellat...
type Awaiter (line 96) | public struct Awaiter : ICriticalNotifyCompletion
method Awaiter (line 101) | public Awaiter(PlayerLoopTiming playerLoopTiming, CancellationToken ...
method GetResult (line 123) | public void GetResult() { cancellationToken.ThrowIfCancellationReque...
method OnCompleted (line 125) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 130) | public void UnsafeOnCompleted(Action continuation)
type ReturnToMainThread (line 137) | public struct ReturnToMainThread
method ReturnToMainThread (line 142) | public ReturnToMainThread(PlayerLoopTiming playerLoopTiming, Cancellat...
method DisposeAsync (line 148) | public Awaiter DisposeAsync()
type Awaiter (line 153) | public readonly struct Awaiter : ICriticalNotifyCompletion
method Awaiter (line 158) | public Awaiter(PlayerLoopTiming timing, CancellationToken cancellati...
method GetAwaiter (line 164) | public Awaiter GetAwaiter() => this;
method GetResult (line 168) | public void GetResult() { cancellationToken.ThrowIfCancellationReque...
method OnCompleted (line 170) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 175) | public void UnsafeOnCompleted(Action continuation)
type SwitchToThreadPoolAwaitable (line 183) | public struct SwitchToThreadPoolAwaitable
method GetAwaiter (line 185) | public Awaiter GetAwaiter() => new Awaiter();
type Awaiter (line 187) | public struct Awaiter : ICriticalNotifyCompletion
method GetResult (line 192) | public void GetResult() { }
method OnCompleted (line 194) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 199) | public void UnsafeOnCompleted(Action continuation)
method Callback (line 204) | static void Callback(object state)
type SwitchToTaskPoolAwaitable (line 212) | public struct SwitchToTaskPoolAwaitable
method GetAwaiter (line 214) | public Awaiter GetAwaiter() => new Awaiter();
type Awaiter (line 216) | public struct Awaiter : ICriticalNotifyCompletion
method GetResult (line 221) | public void GetResult() { }
method OnCompleted (line 223) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 228) | public void UnsafeOnCompleted(Action continuation)
method Callback (line 233) | static void Callback(object state)
type SwitchToSynchronizationContextAwaitable (line 241) | public struct SwitchToSynchronizationContextAwaitable
method SwitchToSynchronizationContextAwaitable (line 246) | public SwitchToSynchronizationContextAwaitable(SynchronizationContext ...
method GetAwaiter (line 252) | public Awaiter GetAwaiter() => new Awaiter(synchronizationContext, can...
type Awaiter (line 254) | public struct Awaiter : ICriticalNotifyCompletion
method Awaiter (line 260) | public Awaiter(SynchronizationContext synchronizationContext, Cancel...
method GetResult (line 267) | public void GetResult() { cancellationToken.ThrowIfCancellationReque...
method OnCompleted (line 269) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 274) | public void UnsafeOnCompleted(Action continuation)
method Callback (line 279) | static void Callback(object state)
type ReturnToSynchronizationContext (line 287) | public struct ReturnToSynchronizationContext
method ReturnToSynchronizationContext (line 293) | public ReturnToSynchronizationContext(SynchronizationContext syncConte...
method DisposeAsync (line 300) | public Awaiter DisposeAsync()
type Awaiter (line 305) | public struct Awaiter : ICriticalNotifyCompletion
method Awaiter (line 313) | public Awaiter(SynchronizationContext synchronizationContext, bool d...
method GetAwaiter (line 320) | public Awaiter GetAwaiter() => this;
method GetResult (line 340) | public void GetResult() { cancellationToken.ThrowIfCancellationReque...
method OnCompleted (line 342) | public void OnCompleted(Action continuation)
method UnsafeOnCompleted (line 347) | public void UnsafeOnCompleted(Action continuation)
method Callback (line 352) | static void Callback(object state)
FILE: addons/GDTask/GDTask.ToSignal.cs
type GDTask (line 6) | public partial struct GDTask
method ToSignal (line 8) | public static async GDTask<Variant[]> ToSignal(GodotObject self, Strin...
method ToSignal (line 13) | public static async GDTask<Variant[]> ToSignal(GodotObject self, Strin...
FILE: addons/GDTask/GDTask.WaitUntil.cs
type GDTask (line 9) | public partial struct GDTask
method WaitUntil (line 11) | public static GDTask WaitUntil(GodotObject target, Func<bool> predicat...
method WaitUntil (line 15) | public static GDTask WaitUntil(Func<bool> predicate, PlayerLoopTiming ...
method WaitWhile (line 20) | public static GDTask WaitWhile(GodotObject target, Func<bool> predicat...
method WaitWhile (line 24) | public static GDTask WaitWhile(Func<bool> predicate, PlayerLoopTiming ...
method WaitUntilCanceled (line 29) | public static GDTask WaitUntilCanceled(GodotObject target, Cancellatio...
method WaitUntilCanceled (line 33) | public static GDTask WaitUntilCanceled(CancellationToken cancellationT...
method WaitUntilValueChanged (line 38) | public static GDTask<U> WaitUntilValueChanged<T, U>(T target, Func<T, ...
class WaitUntilPromise (line 46) | sealed class WaitUntilPromise : IGDTaskSource, IPlayerLoopItem, ITaskP...
method WaitUntilPromise (line 52) | static WaitUntilPromise()
method WaitUntilPromise (line 63) | WaitUntilPromise()
method Create (line 67) | public static IGDTaskSource Create(GodotObject target, Func<bool> pr...
method GetResult (line 91) | public void GetResult(short token)
method GetStatus (line 103) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 108) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 113) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 118) | public bool MoveNext()
method TryReturn (line 143) | bool TryReturn()
class WaitWhilePromise (line 153) | sealed class WaitWhilePromise : IGDTaskSource, IPlayerLoopItem, ITaskP...
method WaitWhilePromise (line 159) | static WaitWhilePromise()
method WaitWhilePromise (line 170) | WaitWhilePromise()
method Create (line 174) | public static IGDTaskSource Create(GodotObject target, Func<bool> pr...
method GetResult (line 198) | public void GetResult(short token)
method GetStatus (line 210) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 215) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 220) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 225) | public bool MoveNext()
method TryReturn (line 250) | bool TryReturn()
class WaitUntilCanceledPromise (line 260) | sealed class WaitUntilCanceledPromise : IGDTaskSource, IPlayerLoopItem...
method WaitUntilCanceledPromise (line 266) | static WaitUntilCanceledPromise()
method WaitUntilCanceledPromise (line 276) | WaitUntilCanceledPromise()
method Create (line 280) | public static IGDTaskSource Create(GodotObject target, CancellationT...
method GetResult (line 303) | public void GetResult(short token)
method GetStatus (line 315) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 320) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 325) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 330) | public bool MoveNext()
method TryReturn (line 341) | bool TryReturn()
class WaitUntilValueChangedGodotObjectPromise (line 351) | sealed class WaitUntilValueChangedGodotObjectPromise<T, U> : IGDTaskSo...
method WaitUntilValueChangedGodotObjectPromise (line 357) | static WaitUntilValueChangedGodotObjectPromise()
method WaitUntilValueChangedGodotObjectPromise (line 371) | WaitUntilValueChangedGodotObjectPromise()
method Create (line 375) | public static IGDTaskSource<U> Create(T target, Func<T, U> monitorFu...
method GetResult (line 402) | public U GetResult(short token)
method GetResult (line 414) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 419) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 424) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 429) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 434) | public bool MoveNext()
method TryReturn (line 461) | bool TryReturn()
class WaitUntilValueChangedStandardObjectPromise (line 474) | sealed class WaitUntilValueChangedStandardObjectPromise<T, U> : IGDTas...
method WaitUntilValueChangedStandardObjectPromise (line 481) | static WaitUntilValueChangedStandardObjectPromise()
method WaitUntilValueChangedStandardObjectPromise (line 494) | WaitUntilValueChangedStandardObjectPromise()
method Create (line 498) | public static IGDTaskSource<U> Create(T target, Func<T, U> monitorFu...
method GetResult (line 524) | public U GetResult(short token)
method GetResult (line 536) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 541) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 546) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 551) | public void OnCompleted(Action<object> continuation, object state, s...
method MoveNext (line 556) | public bool MoveNext()
method TryReturn (line 583) | bool TryReturn()
FILE: addons/GDTask/GDTask.WhenAll.Generated.cs
type GDTask (line 9) | public partial struct GDTask
method WhenAll (line 12) | public static GDTask<(T1, T2)> WhenAll<T1, T2>(GDTask<T1> task1, GDTas...
class WhenAllPromise (line 22) | sealed class WhenAllPromise<T1, T2> : IGDTaskSource<(T1, T2)>
method WhenAllPromise (line 29) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
method TryInvokeContinuationT1 (line 70) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in ...
method TryInvokeContinuationT2 (line 88) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in ...
method GetResult (line 107) | public (T1, T2) GetResult(short token)
method GetResult (line 114) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 119) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 124) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 129) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 153) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 211) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT2 (line 229) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT3 (line 247) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self,...
method GetResult (line 266) | public (T1, T2, T3) GetResult(short token)
method GetResult (line 273) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 278) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 283) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 288) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 388) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT2 (line 406) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT3 (line 424) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT4 (line 442) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> s...
method GetResult (line 461) | public (T1, T2, T3, T4) GetResult(short token)
method GetResult (line 468) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 473) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 478) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 483) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 509) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 692) | public (T1, T2, T3, T4, T5) GetResult(short token)
method GetResult (line 699) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 704) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 709) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 714) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 741) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 850) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 868) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 886) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 904) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 922) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 940) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 959) | public (T1, T2, T3, T4, T5, T6) GetResult(short token)
method GetResult (line 966) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 971) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 976) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 981) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1009) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1135) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1153) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1171) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1189) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1207) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1225) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1243) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1262) | public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
method GetResult (line 1269) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1274) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1279) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1284) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1456) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1474) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1492) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1510) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1528) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1546) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1564) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1582) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1601) | public (T1, T2, T3, T4, T5, T6, T7, T8) GetResult(short token)
method GetResult (line 1608) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1613) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1618) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1623) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1653) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1813) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1831) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1849) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1867) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1885) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1903) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1921) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1939) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 1957) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1976) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9) GetResult(short token)
method GetResult (line 1983) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1988) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1993) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1998) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2029) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2206) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2224) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2242) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2260) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2278) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2296) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2314) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2332) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2350) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2368) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2387) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GetResult(short token)
method GetResult (line 2394) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2399) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2404) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2409) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2441) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2635) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2653) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2671) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2689) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2707) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2725) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2743) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2761) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2779) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2797) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 2815) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2834) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) GetResult(shor...
method GetResult (line 2841) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2846) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2851) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2856) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2889) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3100) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3118) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3136) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3154) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3172) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3190) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3208) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3226) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3244) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3262) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3280) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3298) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3317) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) GetResult...
method GetResult (line 3324) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3329) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3334) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3339) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3373) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3691) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3709) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3727) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3745) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3763) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3781) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3799) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 3817) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3836) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) GetR...
method GetResult (line 3843) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3848) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3853) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3858) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3893) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4138) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4156) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4174) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4192) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4210) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4228) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4246) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4264) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4282) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4300) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4318) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4336) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4354) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4372) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4391) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)...
method GetResult (line 4398) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4403) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4408) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 4413) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 4449) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4711) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4729) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4747) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4765) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4783) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4801) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4819) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4837) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4855) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4873) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4891) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4909) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4927) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4945) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT15 (line 4963) | static void TryInvokeContinuationT15(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4982) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,...
method GetResult (line 4989) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4994) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4999) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 5004) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAll (line 135) | public static GDTask<(T1, T2, T3)> WhenAll<T1, T2, T3>(GDTask<T1> task...
class WhenAllPromise (line 145) | sealed class WhenAllPromise<T1, T2, T3> : IGDTaskSource<(T1, T2, T3)>
method WhenAllPromise (line 29) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
method TryInvokeContinuationT1 (line 70) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in ...
method TryInvokeContinuationT2 (line 88) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in ...
method GetResult (line 107) | public (T1, T2) GetResult(short token)
method GetResult (line 114) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 119) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 124) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 129) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 153) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 211) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT2 (line 229) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT3 (line 247) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self,...
method GetResult (line 266) | public (T1, T2, T3) GetResult(short token)
method GetResult (line 273) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 278) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 283) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 288) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 388) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT2 (line 406) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT3 (line 424) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT4 (line 442) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> s...
method GetResult (line 461) | public (T1, T2, T3, T4) GetResult(short token)
method GetResult (line 468) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 473) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 478) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 483) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 509) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 692) | public (T1, T2, T3, T4, T5) GetResult(short token)
method GetResult (line 699) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 704) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 709) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 714) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 741) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 850) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 868) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 886) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 904) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 922) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 940) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 959) | public (T1, T2, T3, T4, T5, T6) GetResult(short token)
method GetResult (line 966) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 971) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 976) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 981) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1009) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1135) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1153) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1171) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1189) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1207) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1225) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1243) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1262) | public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
method GetResult (line 1269) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1274) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1279) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1284) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1456) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1474) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1492) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1510) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1528) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1546) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1564) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1582) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1601) | public (T1, T2, T3, T4, T5, T6, T7, T8) GetResult(short token)
method GetResult (line 1608) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1613) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1618) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1623) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1653) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1813) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1831) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1849) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1867) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1885) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1903) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1921) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1939) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 1957) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1976) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9) GetResult(short token)
method GetResult (line 1983) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1988) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1993) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1998) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2029) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2206) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2224) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2242) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2260) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2278) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2296) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2314) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2332) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2350) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2368) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2387) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GetResult(short token)
method GetResult (line 2394) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2399) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2404) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2409) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2441) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2635) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2653) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2671) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2689) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2707) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2725) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2743) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2761) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2779) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2797) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 2815) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2834) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) GetResult(shor...
method GetResult (line 2841) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2846) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2851) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2856) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2889) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3100) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3118) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3136) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3154) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3172) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3190) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3208) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3226) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3244) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3262) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3280) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3298) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3317) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) GetResult...
method GetResult (line 3324) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3329) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3334) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3339) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3373) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3691) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3709) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3727) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3745) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3763) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3781) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3799) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 3817) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3836) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) GetR...
method GetResult (line 3843) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3848) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3853) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3858) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3893) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4138) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4156) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4174) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4192) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4210) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4228) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4246) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4264) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4282) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4300) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4318) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4336) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4354) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4372) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4391) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)...
method GetResult (line 4398) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4403) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4408) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 4413) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 4449) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4711) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4729) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4747) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4765) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4783) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4801) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4819) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4837) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4855) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4873) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4891) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4909) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4927) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4945) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT15 (line 4963) | static void TryInvokeContinuationT15(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4982) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,...
method GetResult (line 4989) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4994) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4999) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 5004) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAll (line 294) | public static GDTask<(T1, T2, T3, T4)> WhenAll<T1, T2, T3, T4>(GDTask<...
class WhenAllPromise (line 304) | sealed class WhenAllPromise<T1, T2, T3, T4> : IGDTaskSource<(T1, T2, T...
method WhenAllPromise (line 29) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
method TryInvokeContinuationT1 (line 70) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in ...
method TryInvokeContinuationT2 (line 88) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in ...
method GetResult (line 107) | public (T1, T2) GetResult(short token)
method GetResult (line 114) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 119) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 124) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 129) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 153) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 211) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT2 (line 229) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT3 (line 247) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self,...
method GetResult (line 266) | public (T1, T2, T3) GetResult(short token)
method GetResult (line 273) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 278) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 283) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 288) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 388) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT2 (line 406) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT3 (line 424) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT4 (line 442) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> s...
method GetResult (line 461) | public (T1, T2, T3, T4) GetResult(short token)
method GetResult (line 468) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 473) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 478) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 483) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 509) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 692) | public (T1, T2, T3, T4, T5) GetResult(short token)
method GetResult (line 699) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 704) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 709) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 714) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 741) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 850) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 868) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 886) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 904) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 922) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 940) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 959) | public (T1, T2, T3, T4, T5, T6) GetResult(short token)
method GetResult (line 966) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 971) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 976) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 981) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1009) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1135) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1153) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1171) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1189) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1207) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1225) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1243) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1262) | public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
method GetResult (line 1269) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1274) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1279) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1284) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1456) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1474) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1492) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1510) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1528) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1546) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1564) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1582) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1601) | public (T1, T2, T3, T4, T5, T6, T7, T8) GetResult(short token)
method GetResult (line 1608) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1613) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1618) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1623) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1653) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1813) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1831) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1849) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1867) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1885) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1903) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1921) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1939) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 1957) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1976) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9) GetResult(short token)
method GetResult (line 1983) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1988) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1993) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1998) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2029) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2206) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2224) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2242) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2260) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2278) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2296) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2314) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2332) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2350) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2368) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2387) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GetResult(short token)
method GetResult (line 2394) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2399) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2404) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2409) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2441) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2635) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2653) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2671) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2689) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2707) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2725) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2743) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2761) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2779) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2797) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 2815) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2834) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) GetResult(shor...
method GetResult (line 2841) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2846) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2851) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2856) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2889) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3100) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3118) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3136) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3154) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3172) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3190) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3208) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3226) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3244) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3262) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3280) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3298) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3317) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) GetResult...
method GetResult (line 3324) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3329) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3334) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3339) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3373) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3691) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3709) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3727) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3745) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3763) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3781) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3799) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 3817) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3836) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) GetR...
method GetResult (line 3843) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3848) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3853) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3858) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3893) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4138) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4156) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4174) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4192) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4210) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4228) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4246) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4264) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4282) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4300) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4318) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4336) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4354) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4372) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4391) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)...
method GetResult (line 4398) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4403) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4408) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 4413) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 4449) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4711) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4729) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4747) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4765) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4783) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4801) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4819) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4837) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4855) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4873) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4891) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4909) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4927) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4945) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT15 (line 4963) | static void TryInvokeContinuationT15(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4982) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,...
method GetResult (line 4989) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4994) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4999) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 5004) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAll (line 489) | public static GDTask<(T1, T2, T3, T4, T5)> WhenAll<T1, T2, T3, T4, T5>...
class WhenAllPromise (line 499) | sealed class WhenAllPromise<T1, T2, T3, T4, T5> : IGDTaskSource<(T1, T...
method WhenAllPromise (line 29) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
method TryInvokeContinuationT1 (line 70) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in ...
method TryInvokeContinuationT2 (line 88) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in ...
method GetResult (line 107) | public (T1, T2) GetResult(short token)
method GetResult (line 114) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 119) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 124) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 129) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 153) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 211) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT2 (line 229) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT3 (line 247) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self,...
method GetResult (line 266) | public (T1, T2, T3) GetResult(short token)
method GetResult (line 273) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 278) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 283) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 288) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 388) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT2 (line 406) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT3 (line 424) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT4 (line 442) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> s...
method GetResult (line 461) | public (T1, T2, T3, T4) GetResult(short token)
method GetResult (line 468) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 473) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 478) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 483) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 509) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 692) | public (T1, T2, T3, T4, T5) GetResult(short token)
method GetResult (line 699) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 704) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 709) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 714) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 741) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 850) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 868) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 886) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 904) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 922) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 940) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 959) | public (T1, T2, T3, T4, T5, T6) GetResult(short token)
method GetResult (line 966) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 971) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 976) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 981) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1009) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1135) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1153) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1171) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1189) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1207) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1225) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1243) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1262) | public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
method GetResult (line 1269) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1274) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1279) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1284) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1456) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1474) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1492) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1510) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1528) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1546) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1564) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1582) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1601) | public (T1, T2, T3, T4, T5, T6, T7, T8) GetResult(short token)
method GetResult (line 1608) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1613) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1618) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1623) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1653) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1813) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1831) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1849) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1867) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1885) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1903) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1921) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1939) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 1957) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1976) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9) GetResult(short token)
method GetResult (line 1983) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1988) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1993) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1998) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2029) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2206) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2224) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2242) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2260) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2278) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2296) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2314) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2332) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2350) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2368) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2387) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GetResult(short token)
method GetResult (line 2394) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2399) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2404) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2409) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2441) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2635) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2653) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2671) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2689) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2707) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2725) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2743) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2761) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2779) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2797) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 2815) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2834) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) GetResult(shor...
method GetResult (line 2841) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2846) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2851) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2856) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2889) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3100) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3118) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3136) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3154) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3172) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3190) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3208) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3226) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3244) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3262) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3280) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3298) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3317) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) GetResult...
method GetResult (line 3324) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3329) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3334) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3339) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3373) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3691) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3709) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3727) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3745) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3763) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3781) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3799) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 3817) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3836) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) GetR...
method GetResult (line 3843) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3848) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3853) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3858) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3893) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4138) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4156) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4174) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4192) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4210) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4228) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4246) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4264) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4282) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4300) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4318) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4336) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4354) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4372) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4391) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)...
method GetResult (line 4398) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4403) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4408) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 4413) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 4449) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4711) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4729) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4747) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4765) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4783) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4801) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4819) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4837) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4855) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4873) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4891) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4909) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4927) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4945) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT15 (line 4963) | static void TryInvokeContinuationT15(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4982) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,...
method GetResult (line 4989) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4994) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4999) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 5004) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAll (line 720) | public static GDTask<(T1, T2, T3, T4, T5, T6)> WhenAll<T1, T2, T3, T4,...
class WhenAllPromise (line 730) | sealed class WhenAllPromise<T1, T2, T3, T4, T5, T6> : IGDTaskSource<(T...
method WhenAllPromise (line 29) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
method TryInvokeContinuationT1 (line 70) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in ...
method TryInvokeContinuationT2 (line 88) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in ...
method GetResult (line 107) | public (T1, T2) GetResult(short token)
method GetResult (line 114) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 119) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 124) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 129) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 153) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 211) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT2 (line 229) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT3 (line 247) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self,...
method GetResult (line 266) | public (T1, T2, T3) GetResult(short token)
method GetResult (line 273) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 278) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 283) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 288) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 388) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT2 (line 406) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT3 (line 424) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT4 (line 442) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> s...
method GetResult (line 461) | public (T1, T2, T3, T4) GetResult(short token)
method GetResult (line 468) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 473) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 478) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 483) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 509) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 692) | public (T1, T2, T3, T4, T5) GetResult(short token)
method GetResult (line 699) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 704) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 709) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 714) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 741) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 850) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 868) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 886) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 904) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 922) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 940) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 959) | public (T1, T2, T3, T4, T5, T6) GetResult(short token)
method GetResult (line 966) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 971) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 976) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 981) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1009) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1135) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1153) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1171) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1189) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1207) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1225) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1243) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1262) | public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
method GetResult (line 1269) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1274) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1279) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1284) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1456) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1474) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1492) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1510) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1528) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1546) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1564) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1582) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1601) | public (T1, T2, T3, T4, T5, T6, T7, T8) GetResult(short token)
method GetResult (line 1608) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1613) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1618) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1623) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1653) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1813) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1831) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1849) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1867) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1885) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1903) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1921) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1939) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 1957) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1976) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9) GetResult(short token)
method GetResult (line 1983) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1988) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1993) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1998) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2029) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2206) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2224) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2242) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2260) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2278) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2296) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2314) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2332) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2350) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2368) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2387) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GetResult(short token)
method GetResult (line 2394) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2399) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2404) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2409) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2441) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2635) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2653) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2671) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2689) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2707) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2725) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2743) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2761) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2779) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2797) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 2815) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2834) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) GetResult(shor...
method GetResult (line 2841) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2846) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2851) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2856) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2889) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3100) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3118) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3136) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3154) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3172) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3190) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3208) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3226) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3244) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3262) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3280) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3298) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3317) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) GetResult...
method GetResult (line 3324) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3329) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3334) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3339) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3373) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3691) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3709) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3727) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3745) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3763) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3781) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3799) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 3817) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3836) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) GetR...
method GetResult (line 3843) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3848) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3853) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3858) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3893) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4138) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4156) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4174) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4192) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4210) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4228) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4246) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4264) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4282) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4300) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4318) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4336) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4354) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4372) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4391) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)...
method GetResult (line 4398) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4403) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4408) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 4413) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 4449) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4711) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4729) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4747) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4765) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4783) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4801) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4819) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4837) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4855) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4873) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4891) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4909) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4927) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4945) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT15 (line 4963) | static void TryInvokeContinuationT15(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4982) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,...
method GetResult (line 4989) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4994) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4999) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 5004) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAll (line 987) | public static GDTask<(T1, T2, T3, T4, T5, T6, T7)> WhenAll<T1, T2, T3,...
class WhenAllPromise (line 997) | sealed class WhenAllPromise<T1, T2, T3, T4, T5, T6, T7> : IGDTaskSourc...
method WhenAllPromise (line 29) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
method TryInvokeContinuationT1 (line 70) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in ...
method TryInvokeContinuationT2 (line 88) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in ...
method GetResult (line 107) | public (T1, T2) GetResult(short token)
method GetResult (line 114) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 119) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 124) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 129) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 153) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 211) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT2 (line 229) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT3 (line 247) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self,...
method GetResult (line 266) | public (T1, T2, T3) GetResult(short token)
method GetResult (line 273) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 278) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 283) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 288) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 388) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT2 (line 406) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT3 (line 424) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT4 (line 442) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> s...
method GetResult (line 461) | public (T1, T2, T3, T4) GetResult(short token)
method GetResult (line 468) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 473) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 478) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 483) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 509) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 692) | public (T1, T2, T3, T4, T5) GetResult(short token)
method GetResult (line 699) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 704) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 709) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 714) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 741) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 850) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 868) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 886) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 904) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 922) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 940) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 959) | public (T1, T2, T3, T4, T5, T6) GetResult(short token)
method GetResult (line 966) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 971) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 976) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 981) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1009) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1135) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1153) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1171) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1189) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1207) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1225) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1243) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1262) | public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
method GetResult (line 1269) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1274) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1279) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1284) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1456) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1474) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1492) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1510) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1528) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1546) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1564) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1582) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1601) | public (T1, T2, T3, T4, T5, T6, T7, T8) GetResult(short token)
method GetResult (line 1608) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1613) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1618) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1623) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1653) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1813) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1831) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1849) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1867) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1885) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1903) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1921) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1939) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 1957) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1976) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9) GetResult(short token)
method GetResult (line 1983) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1988) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1993) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1998) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2029) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2206) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2224) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2242) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2260) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2278) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2296) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2314) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2332) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2350) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2368) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2387) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GetResult(short token)
method GetResult (line 2394) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2399) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2404) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2409) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2441) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2635) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2653) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2671) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2689) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2707) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2725) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2743) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2761) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2779) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2797) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 2815) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2834) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) GetResult(shor...
method GetResult (line 2841) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2846) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2851) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2856) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2889) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3100) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3118) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3136) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3154) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3172) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3190) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3208) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3226) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3244) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3262) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3280) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3298) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3317) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) GetResult...
method GetResult (line 3324) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3329) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3334) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3339) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3373) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3691) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3709) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3727) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3745) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3763) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3781) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3799) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 3817) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3836) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) GetR...
method GetResult (line 3843) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3848) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3853) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3858) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3893) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4138) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4156) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4174) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4192) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4210) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4228) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4246) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4264) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4282) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4300) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4318) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4336) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4354) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4372) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4391) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)...
method GetResult (line 4398) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4403) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4408) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 4413) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 4449) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4711) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4729) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4747) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4765) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4783) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4801) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4819) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4837) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4855) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4873) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4891) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4909) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4927) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4945) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT15 (line 4963) | static void TryInvokeContinuationT15(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4982) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,...
method GetResult (line 4989) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 4994) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 4999) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 5004) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAll (line 1290) | public static GDTask<(T1, T2, T3, T4, T5, T6, T7, T8)> WhenAll<T1, T2,...
class WhenAllPromise (line 1300) | sealed class WhenAllPromise<T1, T2, T3, T4, T5, T6, T7, T8> : IGDTaskS...
method WhenAllPromise (line 29) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2)
method TryInvokeContinuationT1 (line 70) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2> self, in ...
method TryInvokeContinuationT2 (line 88) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2> self, in ...
method GetResult (line 107) | public (T1, T2) GetResult(short token)
method GetResult (line 114) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 119) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 124) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 129) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 153) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 211) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT2 (line 229) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3> self,...
method TryInvokeContinuationT3 (line 247) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3> self,...
method GetResult (line 266) | public (T1, T2, T3) GetResult(short token)
method GetResult (line 273) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 278) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 283) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 288) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 388) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT2 (line 406) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT3 (line 424) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4> s...
method TryInvokeContinuationT4 (line 442) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4> s...
method GetResult (line 461) | public (T1, T2, T3, T4) GetResult(short token)
method GetResult (line 468) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 473) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 478) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 483) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 509) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 692) | public (T1, T2, T3, T4, T5) GetResult(short token)
method GetResult (line 699) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 704) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 709) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 714) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 741) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 850) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 868) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 886) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 904) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 922) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 940) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 959) | public (T1, T2, T3, T4, T5, T6) GetResult(short token)
method GetResult (line 966) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 971) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 976) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 981) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1009) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1135) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1153) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1171) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1189) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1207) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1225) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1243) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1262) | public (T1, T2, T3, T4, T5, T6, T7) GetResult(short token)
method GetResult (line 1269) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1274) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1279) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1284) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1313) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1456) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1474) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1492) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1510) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1528) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1546) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1564) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1582) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1601) | public (T1, T2, T3, T4, T5, T6, T7, T8) GetResult(short token)
method GetResult (line 1608) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1613) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1618) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1623) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 1653) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 1813) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 1831) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 1849) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 1867) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 1885) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 1903) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 1921) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 1939) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 1957) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method GetResult (line 1976) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9) GetResult(short token)
method GetResult (line 1983) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 1988) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 1993) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 1998) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2029) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2206) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2224) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2242) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2260) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2278) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2296) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2314) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2332) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2350) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2368) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2387) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GetResult(short token)
method GetResult (line 2394) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2399) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2404) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2409) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2441) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 2635) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 2653) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 2671) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 2689) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 2707) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 2725) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 2743) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 2761) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 2779) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 2797) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 2815) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 2834) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) GetResult(shor...
method GetResult (line 2841) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 2846) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 2851) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 2856) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 2889) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3100) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3118) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3136) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3154) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3172) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3190) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3208) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3226) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3244) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3262) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3280) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3298) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3317) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) GetResult...
method GetResult (line 3324) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3329) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3334) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3339) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3373) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 3601) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 3619) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 3637) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 3655) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 3673) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 3691) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 3709) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 3727) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 3745) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 3763) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 3781) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 3799) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 3817) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 3836) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) GetR...
method GetResult (line 3843) | void IGDTaskSource.GetResult(short token)
method GetStatus (line 3848) | public GDTaskStatus GetStatus(short token)
method UnsafeGetStatus (line 3853) | public GDTaskStatus UnsafeGetStatus()
method OnCompleted (line 3858) | public void OnCompleted(Action<object> continuation, object state, s...
method WhenAllPromise (line 3893) | public WhenAllPromise(GDTask<T1> task1, GDTask<T2> task2, GDTask<T3>...
method TryInvokeContinuationT1 (line 4138) | static void TryInvokeContinuationT1(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT2 (line 4156) | static void TryInvokeContinuationT2(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT3 (line 4174) | static void TryInvokeContinuationT3(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT4 (line 4192) | static void TryInvokeContinuationT4(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT5 (line 4210) | static void TryInvokeContinuationT5(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT6 (line 4228) | static void TryInvokeContinuationT6(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT7 (line 4246) | static void TryInvokeContinuationT7(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT8 (line 4264) | static void TryInvokeContinuationT8(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT9 (line 4282) | static void TryInvokeContinuationT9(WhenAllPromise<T1, T2, T3, T4, T...
method TryInvokeContinuationT10 (line 4300) | static void TryInvokeContinuationT10(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT11 (line 4318) | static void TryInvokeContinuationT11(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT12 (line 4336) | static void TryInvokeContinuationT12(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT13 (line 4354) | static void TryInvokeContinuationT13(WhenAllPromise<T1, T2, T3, T4, ...
method TryInvokeContinuationT14 (line 4372) | static void TryInvokeContinuationT14(WhenAllPromise<T1, T2, T3, T4, ...
method GetResult (line 4391) | public (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)...
method GetResult (line 4398) | void IGDTaskSource.GetResult(short
Condensed preview — 127 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (832K chars).
[
{
"path": ".github/workflows/deploy.yml",
"chars": 1017,
"preview": "name: 🚀 Deploy Release\n\non:\n push:\n branches:\n - main\n tags:\n - \"v*.*.*\"\n\njobs:\n deploy:\n name: Dep"
},
{
"path": ".gitignore",
"chars": 331,
"preview": "# Godot 4+ specific ignores\n.godot/\n\n# Godot-specific ignores\n.import/\nexport.cfg\nexport_presets.cfg\n\n# Mono-specific ig"
},
{
"path": ".gitmodules",
"chars": 0,
"preview": ""
},
{
"path": "GDTask.csproj",
"chars": 183,
"preview": "<Project Sdk=\"Godot.NET.Sdk/4.4.0\">\n <PropertyGroup>\n <TargetFramework>net8.0</TargetFramework>\n <EnableDynamicLo"
},
{
"path": "GDTask.sln",
"chars": 1355,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 17\nVisualStudioVersion = 17.10.350"
},
{
"path": "LICENSE.md",
"chars": 1105,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2019 Atlinx, Yoshifumi Kawai / Cysharp, Inc.\n\nPermission is hereby granted, free of"
},
{
"path": "README.md",
"chars": 3719,
"preview": "# ⚠️ Superceded by [GDTask.Nuget](https://github.com/Delsin-Yu/GDTask.Nuget)\n\nThis addon has been superceded by [Delsin-"
},
{
"path": "addons/GDTask/AsyncLazy.cs",
"chars": 6525,
"preview": "using System;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n public partial class AsyncLazy\n {\n sta"
},
{
"path": "addons/GDTask/AsyncLazy.cs.uid",
"chars": 20,
"preview": "uid://cnn3liy4tgvma\n"
},
{
"path": "addons/GDTask/AsyncUnit.cs",
"chars": 535,
"preview": "#pragma warning disable CS1591 // Missing XML comment for publicly visible type or \n\nusing System;\n\nnamespace Fractural"
},
{
"path": "addons/GDTask/AsyncUnit.cs.uid",
"chars": 20,
"preview": "uid://bjl72gsi0q5ty\n"
},
{
"path": "addons/GDTask/Autoload/GDTaskPlayerLoopAutoload.cs",
"chars": 5694,
"preview": "using Fractural.Tasks.Internal;\nusing Godot;\nusing System;\n\nnamespace Fractural.Tasks\n{\n public static class GDTaskL"
},
{
"path": "addons/GDTask/Autoload/GDTaskPlayerLoopAutoload.cs.uid",
"chars": 20,
"preview": "uid://b34v2b358nj4p\n"
},
{
"path": "addons/GDTask/Autoload/ProcessListener.cs",
"chars": 456,
"preview": "using Godot;\nusing System;\n\nnamespace Fractural.Tasks\n{\n public partial class ProcessListener : Node\n {\n p"
},
{
"path": "addons/GDTask/Autoload/ProcessListener.cs.uid",
"chars": 19,
"preview": "uid://3h6xpadx1svw\n"
},
{
"path": "addons/GDTask/CancellationTokenEqualityComparer.cs",
"chars": 554,
"preview": "using System.Collections.Generic;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n public partial class Cancella"
},
{
"path": "addons/GDTask/CancellationTokenEqualityComparer.cs.uid",
"chars": 20,
"preview": "uid://dkqkuimd6xnj6\n"
},
{
"path": "addons/GDTask/CancellationTokenExtensions.cs",
"chars": 5580,
"preview": "using System;\nusing System.Runtime.CompilerServices;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n public st"
},
{
"path": "addons/GDTask/CancellationTokenExtensions.cs.uid",
"chars": 20,
"preview": "uid://bvmag4mxjvgn4\n"
},
{
"path": "addons/GDTask/CancellationTokenSourceExtensions.cs",
"chars": 1562,
"preview": "using System.Threading;\nusing Fractural.Tasks.Triggers;\nusing System;\nusing Fractural.Tasks.Internal;\nusing Godot;\n\nnam"
},
{
"path": "addons/GDTask/CancellationTokenSourceExtensions.cs.uid",
"chars": 19,
"preview": "uid://u8ib13lqamfi\n"
},
{
"path": "addons/GDTask/CompilerServices/AsyncGDTaskMethodBuilder.cs",
"chars": 7651,
"preview": "using System;\nusing System.Diagnostics;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nus"
},
{
"path": "addons/GDTask/CompilerServices/AsyncGDTaskMethodBuilder.cs.uid",
"chars": 19,
"preview": "uid://6mv8w57jlsg3\n"
},
{
"path": "addons/GDTask/CompilerServices/AsyncGDTaskVoidMethodBuilder.cs",
"chars": 3516,
"preview": "\nusing System;\nusing System.Diagnostics;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nu"
},
{
"path": "addons/GDTask/CompilerServices/AsyncGDTaskVoidMethodBuilder.cs.uid",
"chars": 20,
"preview": "uid://di85mfhei8bs7\n"
},
{
"path": "addons/GDTask/CompilerServices/StateMachineRunner.cs",
"chars": 9333,
"preview": "#pragma warning disable CS1591\n\nusing System;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Runtime.Compile"
},
{
"path": "addons/GDTask/CompilerServices/StateMachineRunner.cs.uid",
"chars": 20,
"preview": "uid://civq0j70x833j\n"
},
{
"path": "addons/GDTask/GDTask.Delay.cs",
"chars": 24110,
"preview": "using Fractural.Tasks.Internal;\nusing Godot;\nusing System;\nusing System.Runtime.CompilerServices;\nusing System.Threadin"
},
{
"path": "addons/GDTask/GDTask.Delay.cs.uid",
"chars": 20,
"preview": "uid://btyvmsmlux4qq\n"
},
{
"path": "addons/GDTask/GDTask.Factory.cs",
"chars": 14019,
"preview": "using Fractural.Tasks.Internal;\nusing System;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.ExceptionServ"
},
{
"path": "addons/GDTask/GDTask.Factory.cs.uid",
"chars": 19,
"preview": "uid://p3ayqohsixwx\n"
},
{
"path": "addons/GDTask/GDTask.Run.cs",
"chars": 11367,
"preview": "using System;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n public partial struct GDTask\n {\n #regi"
},
{
"path": "addons/GDTask/GDTask.Run.cs.uid",
"chars": 20,
"preview": "uid://daid4jdjbp0au\n"
},
{
"path": "addons/GDTask/GDTask.Threading.cs",
"chars": 13025,
"preview": "using System;\nusing System.Runtime.CompilerServices;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Fractu"
},
{
"path": "addons/GDTask/GDTask.Threading.cs.uid",
"chars": 20,
"preview": "uid://dwpp8canxmyfw\n"
},
{
"path": "addons/GDTask/GDTask.ToSignal.cs",
"chars": 744,
"preview": "using Godot;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n public partial struct GDTask\n {\n public"
},
{
"path": "addons/GDTask/GDTask.ToSignal.cs.uid",
"chars": 20,
"preview": "uid://coomhn117gtgx\n"
},
{
"path": "addons/GDTask/GDTask.WaitUntil.cs",
"chars": 20674,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Threading;\nusing Fractural.Tasks.Internal;\nusing Godot;\n\nn"
},
{
"path": "addons/GDTask/GDTask.WaitUntil.cs.uid",
"chars": 20,
"preview": "uid://cxbbjjhs4etts\n"
},
{
"path": "addons/GDTask/GDTask.WhenAll.Generated.cs",
"chars": 209376,
"preview": "using System;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.ExceptionServices;\nusing System.Threading;\nus"
},
{
"path": "addons/GDTask/GDTask.WhenAll.Generated.cs.uid",
"chars": 20,
"preview": "uid://dymqkcsrwsqun\n"
},
{
"path": "addons/GDTask/GDTask.WhenAll.cs",
"chars": 7427,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Threading;\nusing Fractural.Tasks.Internal;\n\nnamespace Frac"
},
{
"path": "addons/GDTask/GDTask.WhenAll.cs.uid",
"chars": 19,
"preview": "uid://21c8h3tf3ihy\n"
},
{
"path": "addons/GDTask/GDTask.WhenAny.Generated.cs",
"chars": 204192,
"preview": "using System;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.ExceptionServices;\nusing System.Threading;\nus"
},
{
"path": "addons/GDTask/GDTask.WhenAny.Generated.cs.uid",
"chars": 20,
"preview": "uid://d4nthwpweeb5l\n"
},
{
"path": "addons/GDTask/GDTask.WhenAny.cs",
"chars": 11509,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Threading;\nusing Fractural.Tasks.Internal;\n\nnamespace Frac"
},
{
"path": "addons/GDTask/GDTask.WhenAny.cs.uid",
"chars": 18,
"preview": "uid://uleke6fyl60\n"
},
{
"path": "addons/GDTask/GDTask.cs",
"chars": 19876,
"preview": "using Fractural.Tasks.CompilerServices;\nusing System;\nusing System.Diagnostics;\nusing System.Runtime.CompilerServices;\nu"
},
{
"path": "addons/GDTask/GDTask.cs.uid",
"chars": 20,
"preview": "uid://c8flrnm5gs57i\n"
},
{
"path": "addons/GDTask/GDTaskCompletionSource.cs",
"chars": 29351,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Runtime.CompilerServices;\nusing S"
},
{
"path": "addons/GDTask/GDTaskCompletionSource.cs.uid",
"chars": 19,
"preview": "uid://lh2yoqrvk0fp\n"
},
{
"path": "addons/GDTask/GDTaskExtensions.Shorthand.cs",
"chars": 12468,
"preview": "using System.Collections.Generic;\n\nnamespace Fractural.Tasks\n{\n public static partial class GDTaskExtensions\n {\n "
},
{
"path": "addons/GDTask/GDTaskExtensions.Shorthand.cs.uid",
"chars": 19,
"preview": "uid://3sn3amfk43em\n"
},
{
"path": "addons/GDTask/GDTaskExtensions.cs",
"chars": 26018,
"preview": "using System;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Fractural.Tasks.Internal;\n\nnamespace Fractural"
},
{
"path": "addons/GDTask/GDTaskExtensions.cs.uid",
"chars": 20,
"preview": "uid://cqppdk8mlk6t2\n"
},
{
"path": "addons/GDTask/GDTaskObservableExtensions.cs",
"chars": 20275,
"preview": "using System;\nusing System.Runtime.ExceptionServices;\nusing System.Threading;\nusing Fractural.Tasks.Internal;\n\nnamespac"
},
{
"path": "addons/GDTask/GDTaskObservableExtensions.cs.uid",
"chars": 20,
"preview": "uid://bkg2p8poqeue2\n"
},
{
"path": "addons/GDTask/GDTaskScheduler.cs",
"chars": 1113,
"preview": "using System;\nusing System.Threading;\nusing Godot;\n\nnamespace Fractural.Tasks\n{\n // GDTask has no scheduler like Tas"
},
{
"path": "addons/GDTask/GDTaskScheduler.cs.uid",
"chars": 20,
"preview": "uid://caqlg0dx35lpq\n"
},
{
"path": "addons/GDTask/GDTaskSynchronizationContext.cs",
"chars": 4583,
"preview": "using Godot;\nusing System;\nusing System.Runtime.InteropServices;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n "
},
{
"path": "addons/GDTask/GDTaskSynchronizationContext.cs.uid",
"chars": 20,
"preview": "uid://blaimw6ec387c\n"
},
{
"path": "addons/GDTask/GDTaskVoid.cs",
"chars": 377,
"preview": "#pragma warning disable CS1591\n#pragma warning disable CS0436\n\nusing System;\nusing System.Diagnostics;\nusing System.Run"
},
{
"path": "addons/GDTask/GDTaskVoid.cs.uid",
"chars": 20,
"preview": "uid://dcq6np6u58ldd\n"
},
{
"path": "addons/GDTask/IGDTaskSource.cs",
"chars": 2799,
"preview": "using System;\nusing System.Runtime.CompilerServices;\n\nnamespace Fractural.Tasks\n{\n public enum GDTaskStatus\n {\n "
},
{
"path": "addons/GDTask/IGDTaskSource.cs.uid",
"chars": 20,
"preview": "uid://c342n7et0cbxw\n"
},
{
"path": "addons/GDTask/Internal/ArrayPool.cs",
"chars": 3971,
"preview": "using System;\nusing System.Threading;\n\nnamespace Fractural.Tasks.Internal\n{\n // Same interface as System.Buffers.Arr"
},
{
"path": "addons/GDTask/Internal/ArrayPool.cs.uid",
"chars": 20,
"preview": "uid://bt5k6u0r44m4f\n"
},
{
"path": "addons/GDTask/Internal/ArrayPoolUtil.cs",
"chars": 3411,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;\n\nnamespace Fractural.Tasks.Inter"
},
{
"path": "addons/GDTask/Internal/ArrayPoolUtil.cs.uid",
"chars": 20,
"preview": "uid://b73uh74arc3l7\n"
},
{
"path": "addons/GDTask/Internal/ArrayUtil.cs",
"chars": 2040,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;\n\nnamespace Fractural.Tasks.Inter"
},
{
"path": "addons/GDTask/Internal/ArrayUtil.cs.uid",
"chars": 20,
"preview": "uid://crnaoo8cq7ssj\n"
},
{
"path": "addons/GDTask/Internal/ContinuationQueue.cs",
"chars": 4818,
"preview": "using Godot;\nusing System;\nusing System.Threading;\n\nnamespace Fractural.Tasks.Internal\n{\n internal sealed class Cont"
},
{
"path": "addons/GDTask/Internal/ContinuationQueue.cs.uid",
"chars": 19,
"preview": "uid://3dipskse2ivi\n"
},
{
"path": "addons/GDTask/Internal/DiagnosticsExtensions.cs",
"chars": 8821,
"preview": "using Godot;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Diagnostics.CodeAna"
},
{
"path": "addons/GDTask/Internal/DiagnosticsExtensions.cs.uid",
"chars": 20,
"preview": "uid://bjkfwkr6c8kvc\n"
},
{
"path": "addons/GDTask/Internal/Error.cs",
"chars": 2548,
"preview": "using System;\nusing System.Runtime.CompilerServices;\n\nnamespace Fractural.Tasks.Internal\n{\n internal static class Er"
},
{
"path": "addons/GDTask/Internal/Error.cs.uid",
"chars": 20,
"preview": "uid://bjtes4ac5jptq\n"
},
{
"path": "addons/GDTask/Internal/GodotEqualityComparer.cs",
"chars": 5213,
"preview": "using System;\nusing System.Collections.Generic;\nusing Godot;\n\nnamespace Fractural.Tasks.Internal\n{\n internal static "
},
{
"path": "addons/GDTask/Internal/GodotEqualityComparer.cs.uid",
"chars": 20,
"preview": "uid://d21iluoiyuuhs\n"
},
{
"path": "addons/GDTask/Internal/MinimumQueue.cs",
"chars": 2792,
"preview": "using System;\nusing System.Runtime.CompilerServices;\n\nnamespace Fractural.Tasks.Internal\n{\n // optimized version of "
},
{
"path": "addons/GDTask/Internal/MinimumQueue.cs.uid",
"chars": 19,
"preview": "uid://rnqnl3ljpcwf\n"
},
{
"path": "addons/GDTask/Internal/PlayerLoopRunner.cs",
"chars": 6134,
"preview": "\nusing Godot;\nusing System;\n\nnamespace Fractural.Tasks.Internal\n{\n internal sealed class PlayerLoopRunner\n {\n "
},
{
"path": "addons/GDTask/Internal/PlayerLoopRunner.cs.uid",
"chars": 20,
"preview": "uid://bdt7g64ag4g80\n"
},
{
"path": "addons/GDTask/Internal/PooledDelegate.cs",
"chars": 1259,
"preview": "using System;\nusing System.Runtime.CompilerServices;\n\nnamespace Fractural.Tasks.Internal\n{\n internal sealed class Po"
},
{
"path": "addons/GDTask/Internal/PooledDelegate.cs.uid",
"chars": 19,
"preview": "uid://3cwmhk0uegmf\n"
},
{
"path": "addons/GDTask/Internal/RuntimeHelpersAbstraction.cs",
"chars": 1866,
"preview": "using Godot;\nusing System;\n\nnamespace Fractural.Tasks.Internal\n{\n internal static class RuntimeHelpersAbstraction\n "
},
{
"path": "addons/GDTask/Internal/RuntimeHelpersAbstraction.cs.uid",
"chars": 20,
"preview": "uid://bgae6k48sphuc\n"
},
{
"path": "addons/GDTask/Internal/StatePool.cs",
"chars": 4166,
"preview": "using System;\nusing System.Collections.Concurrent;\nusing System.Runtime.CompilerServices;\n\nnamespace Fractural.Tasks.In"
},
{
"path": "addons/GDTask/Internal/StatePool.cs.uid",
"chars": 20,
"preview": "uid://b78klpwf2ukw8\n"
},
{
"path": "addons/GDTask/Internal/TaskTracker.cs",
"chars": 5569,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Text;\nusing System.Threading;\nus"
},
{
"path": "addons/GDTask/Internal/TaskTracker.cs.uid",
"chars": 20,
"preview": "uid://bh1b5djnsdg4a\n"
},
{
"path": "addons/GDTask/Internal/ValueStopwatch.cs",
"chars": 1067,
"preview": "using System;\nusing System.Diagnostics;\n\nnamespace Fractural.Tasks.Internal\n{\n internal readonly struct ValueStopwat"
},
{
"path": "addons/GDTask/Internal/ValueStopwatch.cs.uid",
"chars": 20,
"preview": "uid://d00mtr4i7w6iy\n"
},
{
"path": "addons/GDTask/Internal/WeakDictionary.cs",
"chars": 9521,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Threading;\n\nnamespace Fractural.Tasks.Internal\n{\n // Ad"
},
{
"path": "addons/GDTask/Internal/WeakDictionary.cs.uid",
"chars": 19,
"preview": "uid://lxeiwcolu8kh\n"
},
{
"path": "addons/GDTask/MoveNextSource.cs",
"chars": 1588,
"preview": "using System;\n\nnamespace Fractural.Tasks\n{\n public abstract class MoveNextSource : IGDTaskSource<bool>\n {\n "
},
{
"path": "addons/GDTask/MoveNextSource.cs.uid",
"chars": 20,
"preview": "uid://cgp3ccsb34h84\n"
},
{
"path": "addons/GDTask/PlayerLoopTimer.cs",
"chars": 6643,
"preview": "using System.Threading;\nusing System;\nusing Fractural.Tasks.Internal;\nusing Godot;\n\nnamespace Fractural.Tasks\n{\n pub"
},
{
"path": "addons/GDTask/PlayerLoopTimer.cs.uid",
"chars": 20,
"preview": "uid://b4eesv08kira4\n"
},
{
"path": "addons/GDTask/Progress.cs",
"chars": 2226,
"preview": "using System;\nusing System.Collections.Generic;\nusing Fractural.Tasks.Internal;\n\nnamespace Fractural.Tasks\n{\n /// <s"
},
{
"path": "addons/GDTask/Progress.cs.uid",
"chars": 20,
"preview": "uid://bfx26j01offgd\n"
},
{
"path": "addons/GDTask/TaskPool.cs",
"chars": 5824,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.CompilerServices;\nusing System."
},
{
"path": "addons/GDTask/TaskPool.cs.uid",
"chars": 20,
"preview": "uid://blbfg64ek0cj4\n"
},
{
"path": "addons/GDTask/TimeoutController.cs",
"chars": 4582,
"preview": "using System;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n // CancellationTokenSource itself can not reuse "
},
{
"path": "addons/GDTask/TimeoutController.cs.uid",
"chars": 20,
"preview": "uid://dyr8ynfd5afi5\n"
},
{
"path": "addons/GDTask/TriggerEvent.cs",
"chars": 8258,
"preview": "using System;\nusing System.Threading;\nusing Godot;\n\nnamespace Fractural.Tasks\n{\n public interface ITriggerHandler<T>"
},
{
"path": "addons/GDTask/TriggerEvent.cs.uid",
"chars": 20,
"preview": "uid://bjmtjd4skljyj\n"
},
{
"path": "addons/GDTask/Triggers/AsyncDestroyTrigger.cs",
"chars": 1716,
"preview": "using Godot;\nusing System.Threading;\n\nnamespace Fractural.Tasks.Triggers\n{\n public static partial class AsyncTrigger"
},
{
"path": "addons/GDTask/Triggers/AsyncDestroyTrigger.cs.uid",
"chars": 20,
"preview": "uid://bpi1wdhu3nmr0\n"
},
{
"path": "addons/GDTask/Triggers/AsyncEnterTreeTrigger.cs",
"chars": 762,
"preview": "using Godot;\n\nnamespace Fractural.Tasks.Triggers\n{\n public static partial class AsyncTriggerExtensions\n {\n "
},
{
"path": "addons/GDTask/Triggers/AsyncEnterTreeTrigger.cs.uid",
"chars": 20,
"preview": "uid://djb4yph4o81j0\n"
},
{
"path": "addons/GDTask/Triggers/AsyncReadyTrigger.cs",
"chars": 772,
"preview": "using Godot;\n\nnamespace Fractural.Tasks.Triggers\n{\n public static partial class AsyncTriggerExtensions\n {\n "
},
{
"path": "addons/GDTask/Triggers/AsyncReadyTrigger.cs.uid",
"chars": 20,
"preview": "uid://dmmi2y2xgqpqx\n"
},
{
"path": "addons/GDTask/Triggers/AsyncTriggerBase.cs",
"chars": 5078,
"preview": "using Godot;\nusing System;\nusing System.Threading;\n\nnamespace Fractural.Tasks.Triggers\n{\n public abstract partial cl"
},
{
"path": "addons/GDTask/Triggers/AsyncTriggerBase.cs.uid",
"chars": 20,
"preview": "uid://bml87u46mci66\n"
},
{
"path": "addons/GDTask/Triggers/AsyncTriggerExtensions.cs",
"chars": 2063,
"preview": "using Fractural.Tasks.Triggers;\nusing Godot;\nusing System;\nusing System.Threading;\n\nnamespace Fractural.Tasks\n{\n pub"
},
{
"path": "addons/GDTask/Triggers/AsyncTriggerExtensions.cs.uid",
"chars": 20,
"preview": "uid://b5kf26jr530q0\n"
},
{
"path": "addons/GDTask/Triggers/NodeMessagesTriggers.cs",
"chars": 3350,
"preview": "using System.Threading;\nusing Godot;\n\nnamespace Fractural.Tasks.Triggers\n{\n #region PhysicsProcess\n\n public inter"
},
{
"path": "addons/GDTask/Triggers/NodeMessagesTriggers.cs.uid",
"chars": 20,
"preview": "uid://c8yqsh24m88oo\n"
},
{
"path": "bootsplash.png.import",
"chars": 763,
"preview": "[remap]\n\nimporter=\"texture\"\ntype=\"CompressedTexture2D\"\nuid=\"uid://xs4tet3rfluv\"\npath=\"res://.godot/imported/bootsplash.p"
},
{
"path": "default_env.tres",
"chars": 170,
"preview": "[gd_resource type=\"Environment\" load_steps=2 format=3 uid=\"uid://d1jylo21mpcqw\"]\n\n[sub_resource type=\"Sky\" id=\"1\"]\n\n[res"
},
{
"path": "icon.import",
"chars": 716,
"preview": "[remap]\n\nimporter=\"texture\"\ntype=\"StreamTexture\"\npath=\"res://.import/Godot Icons_GDTask.png-aadd498320b5c6d1f2887ffda1e4"
},
{
"path": "icon.png.import",
"chars": 746,
"preview": "[remap]\n\nimporter=\"texture\"\ntype=\"CompressedTexture2D\"\nuid=\"uid://cw01ge0bgos8m\"\npath=\"res://.godot/imported/icon.png-48"
},
{
"path": "project.godot",
"chars": 1037,
"preview": "; Engine configuration file.\n; It's best edited using the editor UI and not directly,\n; since the parameters that go her"
},
{
"path": "tests/manual/Test.cs",
"chars": 6129,
"preview": "using Fractural.Tasks;\nusing Godot;\nusing System;\nusing System.Threading;\n\nnamespace Tests.Manual\n{\n\tpublic partial clas"
},
{
"path": "tests/manual/Test.cs.uid",
"chars": 19,
"preview": "uid://p7nspvioq02b\n"
},
{
"path": "tests/manual/Test.tscn",
"chars": 997,
"preview": "[gd_scene load_steps=3 format=3 uid=\"uid://cfm0u7eao06ff\"]\n\n[ext_resource type=\"Script\" uid=\"uid://p7nspvioq02b\" path=\"r"
}
]
About this extraction
This page contains the full source code of the Fractural/GDTask GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 127 files (781.4 KB), approximately 168.9k tokens, and a symbol index with 1577 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.