using UnityEngine;
using UnityEngine.SceneManagement;
using System.Threading.Tasks;
namespace BulletHellTemplate
{
///
/// This script handles logging out from Firebase, clearing PlayerPrefs, and returning to the login scene.
///
public class LogOut : MonoBehaviour
{
[Header("Scene to load after logout")]
public string loginScene;
///
/// Logs out the player from Firebase, clears PlayerPrefs, and loads the login scene.
///
public async void PerformLogOut()
{
await LogOutFromFirebase();
// Clear PlayerPrefs data
PlayerPrefs.DeleteAll();
PlayerPrefs.Save();
Debug.Log("PlayerPrefs cleared. Logging out...");
// Load the login scene
if (loginScene != null)
{
SceneManager.LoadScene(loginScene);
}
else
{
Debug.LogError("Login scene reference is not set.");
}
}
///
/// Logs out the current user from backend asynchronously.
///
private async Task LogOutFromFirebase()
{
await BackendManager.Service.Logout();
await Task.Delay(100);
LoadingManager.Singleton.LoadSceneWithLoadingScreen(loginScene);
}
}
}