private void OnDestroy() { if (_instance == this) { _auth.StateChanged -= AuthStateChanged; _instance = null; _auth = null; _database = null; _app = null; _user = null; } }
private async void Awake() { FirebaseManager[] managers = FindObjectsOfType(typeof(FirebaseManager)) as FirebaseManager[]; if (managers.Length > 1) { for (int i = 0; i < managers.Length; i++) { if (!managers[i].iAmFirst) { DestroyImmediate(managers[i].gameObject); } } } else { iAmFirst = true; if (_instance == null) { DontDestroyOnLoad(gameObject); _instance = this; await InitializeFirebase(); } } }