关于用于Unity和线程任务的新Firebase SDK

Ted*_*ddy 5 c# unity-game-engine firebase firebase-realtime-database

关于Unity C#和全新的Firebase SDK,我有一个更普遍的问题.我查看了所有新文档,但还没有看到答案.如果从下面的数据库中检索数据,它不允许您在此函数中执行Instantiate之类的方法,因为它不会发生在主线程上.你会怎么做呢?TLDR我想知道如何在从Firebase中检索内容后执行游戏功能.

   FirebaseDatabase.DefaultInstance
    .GetReference("Scenes").OrderByChild("order")
    .ValueChanged += (object sender2, ValueChangedEventArgs e2) => {
      if (e2.DatabaseError != null) {
        Debug.LogError(e2.DatabaseError.Message);
        }
        scenes = asset.text.Split('\n');
        return;
      }
      if (e2.Snapshot != null && e2.Snapshot.ChildrenCount > 0) {
        sceneCollection.Clear();
        foreach (var childSnapshot in e2.Snapshot.Children) {
          var sceneName = childSnapshot.Child("name").Value.ToString(); 
          sceneCollection.Add( new SceneItem(sceneName, 0));

          // I WANTED TO INSTANTIATE SOMTHING HERE

        }

      }
    };
Run Code Online (Sandbox Code Playgroud)

ste*_*les 0

我们已在 1.0.1 版本中修复了此问题: https://firebase.google.com/support/release-notes/unity#1.0.1

您可以从以下位置下载最新版本: https ://firebase.google.com/docs/unity/setup

干杯,

斯图尔特(来自 Firebase 团队)