やりたいこと
ClassAが処理Aをする
ClassBは処理Bの途中でClassAの処理Aが終わるまで待機する
やりかた
ClassA側
public UniTask FuncAsync => _uniTaskCompletionSource.Task;
private readonly UniTaskCompletionSource _uniTaskCompletionSource = new UniTaskCompletionSource();
public void Func(PlayerId id)
{
// 何らかの処理
// 終了したことを通知
_uniTaskCompletionSource.TrySetResult();
}
ClassB側
private async UniTaskVoid SetUpAsync()
{
// クラスAを取得
var classA = GetComponent();
// 何らかの処理
// クラスAのFunc処理が終わるまで待つ
await classA.FuncAsync;
// 何らかの処理
}

0 件のコメント:
コメントを投稿