using Firebase.Database; using Firebase.Extensions; using UnityEngine; namespace BlueWater { public class BlueWaterRankUserData { public string Name { get; private set; } public int Round { get; private set; } public int Gold { get; private set; } public int Time { get; private set; } public int Tries { get; private set; } } public class FirebaseManager : Singleton { private DatabaseReference _reference; protected override void OnAwake() { _reference = FirebaseDatabase.DefaultInstance.RootReference; Debug.Log("Firebase Awake!!"); } void Start() { //WriteUserData("0", "aaaa"); //WriteUserData("1", "bbbb"); //WriteUserData("2", "cccc"); //WriteUserData("3", "dddd"); } void UpdateUserData() { FirebaseDatabase.DefaultInstance.GetReference("Users") .GetValueAsync().ContinueWithOnMainThread(task => { if (task.IsFaulted) { // Handle the error... } else if (task.IsCompleted) { DataSnapshot snapshot = task.Result; string nextName = "__Root"; for (int i = 0; i < snapshot.ChildrenCount; i++) { Debug.Log(snapshot.Child(nextName).Child("Name").Value); nextName = (string)snapshot.Child(nextName).Child("NextID").Value; } } }); } void WriteUserData(string userId, string username) { _reference.Child(userId).Child("username").SetValueAsync(username); } } }