CapersProject/Assets/02.Scripts/FirebaseManager.cs
2024-12-27 05:14:15 +09:00

72 lines
2.0 KiB
C#

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<FirebaseManager>
{
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);
}
}
}