C# Unity Firebase值已更改
因此,我试图通过Unity中的以下代码从firebase接收数据:C# Unity Firebase值已更改,c#,firebase,unity3d,firebase-realtime-database,C#,Firebase,Unity3d,Firebase Realtime Database,因此,我试图通过Unity中的以下代码从firebase接收数据: public void Start() { FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://unity-f82f6.firebaseio.com"); reference = FirebaseDatabase.DefaultInstance.RootReference; FirebaseDatabase.DefaultInstanc
public void Start()
{
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://unity-f82f6.firebaseio.com");
reference = FirebaseDatabase.DefaultInstance.RootReference;
FirebaseDatabase.DefaultInstance.GetReference("Leaders").ValueChanged += HandleValueChanged;
}
void HandleValueChanged(object sender, ValueChangedEventArgs args)
{
if (args.DatabaseError != null)
{
Debug.LogError(args.DatabaseError.Message);
return;
}
Debug.Log(args.Snapshot);
}
我想让它告诉我“领导者”的新值,当它发生变化时,它只会触发一次,我找不到一个能让它多次运行的解决方案。以下是改变的解决方案:(在我的项目上正常工作) 与:
以下是改变的解决方案:(关于我的项目工作ok) 与:
应该调用您的
HandleValueChanged
:立即从数据库调用Leaders
的当前值,然后在Leaders
下的任何内容发生更改时调用。如果后者没有发生在您身上,您能解释一下如何测试它吗?应该调用您的HandleValueChanged
:立即使用数据库中Leaders
的当前值,然后在Leaders
下的任何更改时调用。如果后者没有发生在你身上,你能解释一下你是如何测试它的吗?
FirebaseDatabase.DefaultInstance.GetReference("Leaders").ValueChanged += HandleValueChanged;
reference.GetReference("Leaders").ValueChanged += HandleValueChanged;