internal static void Terminate() { if (FirebaseHandler.firebaseHandler != null) { FirebaseEditorDispatcher.Terminate(FirebaseHandler.firebaseHandler.IsPlayMode); FirebaseHandler.firebaseHandler.StopMonoBehaviour(); } FirebaseHandler.firebaseHandler = null; }
private void OnApplicationFocus(bool hasFocus) { FirebaseHandler firebaseHandlerOrDestroyGameObject = this.GetFirebaseHandlerOrDestroyGameObject(); if (firebaseHandlerOrDestroyGameObject != null) { firebaseHandlerOrDestroyGameObject.OnApplicationFocus(hasFocus); } }
private FirebaseHandler GetFirebaseHandlerOrDestroyGameObject() { FirebaseHandler defaultInstance = FirebaseHandler.DefaultInstance; if (defaultInstance == null) { Object.Destroy(base.gameObject); } return(defaultInstance); }
private void Update() { FirebaseHandler firebaseHandlerOrDestroyGameObject = this.GetFirebaseHandlerOrDestroyGameObject(); if (firebaseHandlerOrDestroyGameObject != null) { PlatformInformation.RealtimeSinceStartupSafe = PlatformInformation.RealtimeSinceStartup; firebaseHandlerOrDestroyGameObject.Update(); } }
internal void StartMonoBehaviour() { if (FirebaseHandler.firebaseHandler == null) { FirebaseHandler.firebaseHandler = this; } GameObject gameObject = new GameObject("Firebase Services"); FirebaseHandler.firebaseMonoBehaviour = gameObject.AddComponent <FirebaseMonoBehaviour>(); UnitySynchronizationContext.Create(gameObject); UnityEngine.Object.DontDestroyOnLoad(gameObject); }
internal void StopMonoBehaviour() { if (FirebaseHandler.firebaseMonoBehaviour != null) { FirebaseHandler.RunOnMainThread <bool>(delegate { if (FirebaseHandler.firebaseMonoBehaviour != null) { UnitySynchronizationContext.Destroy(); UnityEngine.Object.Destroy(FirebaseHandler.firebaseMonoBehaviour.gameObject); } return(true); }); } }
internal static void CreatePartialOnMainThread(IFirebaseAppUtils appUtils) { appUtils.TranslateDllNotFoundException(delegate { object typeFromHandle = typeof(FirebaseHandler); lock (typeFromHandle) { if (FirebaseHandler.firebaseHandler == null) { FirebaseHandler.AppUtils = appUtils; if (FirebaseHandler.ThreadDispatcher == null) { FirebaseHandler.ThreadDispatcher = new Dispatcher(); } FirebaseHandler.firebaseHandler = new FirebaseHandler(); } } }); }
private void OnDestroy() { FirebaseHandler.OnMonoBehaviourDestroyed(this); }
internal static void Create(IFirebaseAppUtils appUtils) { FirebaseHandler.CreatePartialOnMainThread(appUtils); UnityPlatformServices.SetupServices(); }