Firebaseでデータを受信後にそのデータを用いてオブジェクトに変更を加えようとすると途中で処理が終わってしまいます.
コードは以下です
C#
1 public void SendLike(string post_id) { 2 reference.Child("like").Child(post_id).GetValueAsync().ContinueWith(task => { 3 if (task.IsFaulted) { 4 Debug.LogError("Handle the connection Error"); 5 } 6 else if (task.IsCompleted) { 7 Renderer.material=plane; 8 } 9 } 10 }); 11 } 12``` 13このcontinuewith内にある**Renderer.material=plane;**というところを並行処理continuewith外にやってみて実行すると,しっかりとマテリアルの色が変わることを確認できています. 14さらに,並行処理内の**Renderer.material=plane;**をDebug.Logで囲むと, 15「まだできてないよ」っていうのはログに出るのですが,「できたよ」っていうのはログに出ないので,並行処理内の**Renderer.material=plane;** で処理が終わってしまっていることが確認できています. 16コードは以下です. 17```C# 18 public void SendLike(string post_id) { 19 reference.Child("like").Child(post_id).GetValueAsync().ContinueWith(task => { 20 if (task.IsFaulted) { 21 Debug.LogError("Handle the connection Error"); 22 } 23 else if (task.IsCompleted) { 24 Debug.Log("まだできてないよ"); 25 Renderer.material=plane; 26 Debug.Log("できたよ"); 27 } 28 } 29 }); 30 Renderer.material=plane; 31 }
おそらく,並行処理内で,シーン内のゲームオブジェクトをいじってしまうと途中で止まってしまうのですが,コレはなんなんでしょうか....?
あなたの回答
tips
プレビュー