using System;
using System.Threading.Tasks;
namespace VRMShaders
{
///
/// Runtime (Build 後と、Editor Playing) での非同期ロードを実現する AwaitCaller.
/// NOTE: 簡便に実装されたものなので、最適化の余地はある.
///
public sealed class RuntimeOnlyAwaitCaller : IAwaitCaller
{
private readonly NextFrameTaskScheduler _scheduler;
public RuntimeOnlyAwaitCaller()
{
_scheduler = new NextFrameTaskScheduler();
}
public Task NextFrame()
{
var tcs = new TaskCompletionSource