Threaded Tasks
About
Sometimes you want to execute some CPU-heavy code and don't want to block or freeze up the main thread. You can offload these tasks onto a thread from the thread pool.
Usage
private async void MyMethod()
{
// This is executed on the main thread.
// The following will execute a task on the thread pool:
await GameTask.RunInThreadAsync( MyThreadedTask );
// The task has been completed off the main thread and we'll now continue executing on the main thread.
Log.Info( "Done!" );
}
private async Task MyThreadedTask()
{
await GameTask.Delay( 100 );
// Do something CPU-heavy.
}