やりたいこと
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 件のコメント:
コメントを投稿