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