Untitled
unknown
plain_text
a year ago
1.9 kB
6
No Index
using Firebase;
using Firebase.Database;
using Firebase.Extensions;
using UnityEngine;
public class FirebaseManager : MonoBehaviour
{
public static FirebaseManager instance;
private DatabaseReference reference;
void Awake()
{
if (instance == null)
{
instance = this;
DontDestroyOnLoad(gameObject);
InitializeFirebaseAsync();
}
else
{
Destroy(gameObject);
}
}
void InitializeFirebaseAsync()
{
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task =>
{
var dependencyStatus = task.Result;
if (dependencyStatus == DependencyStatus.Available)
{
FirebaseApp app = FirebaseApp.DefaultInstance;
app.Options.DatabaseUrl = new System.Uri("https://proyectounityshadetrigger-default-rtdb.firebaseio.com/");
reference = FirebaseDatabase.GetInstance(app).RootReference;
Debug.Log("Firebase Inicializado correctamente.");
}
else
{
Debug.LogError($"No se pudieron resolver las dependencias de Firebase: {dependencyStatus}");
}
});
}
public void SavePlayerStats(string userId, int coins, int score)
{
if (reference == null)
{
Debug.LogWarning("Firebase aún no está listo, no se puede guardar.");
return;
}
var playerData = new PlayerData()
{
monedas = coins,
puntuacion = score
};
string json = JsonUtility.ToJson(playerData);
reference.Child("players").Child(userId).SetRawJsonValueAsync(json);
}
[System.Serializable]
public class PlayerData
{
public int monedas;
public int puntuacion;
}
}
Editor is loading...
Leave a Comment