public void Logout(bool clear_account_idx) //登出 { m_MenuStack.Clear(); //清空当前的存档场景的栈 SoundManager.Instance.StopSound(); //结束声音 if (BattleBase.CurrentBattleMode != eBattleMode.None) //如果当前是某个战斗场景 { UnityEngine.SceneManagement.SceneManager.UnloadScene(GetBattleSceneName(BattleBase.CurrentBattleMode)); //卸载到当前的战斗场景 BattleBase.CurrentBattleMode = eBattleMode.None; //讲记录的战斗场景记为None } if (ChattingMain.IsInstance) //如果没有关闭聊天功能 { ChattingMain.Clear(); //关闭聊天功能 } ExceptionHandler.Instance.Reset(); //关闭下面的游戏体 Destroy(gameObject); Destroy(Tutorial.Instance.gameObject); Destroy(Popup.Instance.gameObject); Destroy(Tooltip.Instance.gameObject); Destroy(CodeStage.AdvancedFPSCounter.AFPSCounter.Instance.gameObject); Destroy(Networking.Instance.gameObject); if (MetapsAnalyticsScript.Instance != null) { MetapsAnalyticsScript.Clear(); } if (ExceptionHandler.IsInit) { Destroy(GameObject.Find("ExceptionHandler")); } //析构网络相关 Network.Uninit(); Network.ClearInstance(); Network.GameServer.ClearSession(); //清楚记录的数据 SaveDataManger.Instance.Clear(); SHSavedData.AccessToken = 0; if (clear_account_idx == true && SHSavedData.LoginPlatform != LoginPlatform.Guest && SHSavedData.LoginPlatform != LoginPlatform.Betakey) { SHSavedData.AccountIdx = -1; SHSavedData.LoginPlatform = PacketEnums.LoginPlatform.Invalid; } // if (SHSavedData.LoginPlatform == LoginPlatform.Facebook)// && Facebook.Unity.FB.IsLoggedIn) // return; // //Facebook.Unity.FB.LogOut(); if (SHSavedData.LoginPlatform == LoginPlatform.GooglePlay && UM_GameServiceManager.Instance.IsConnected) { UM_GameServiceManager.Instance.Disconnect(); } Network.ShowIndicator(); #if UNITY_EDITOR UnityEngine.SceneManagement.SceneManager.LoadScene("title", UnityEngine.SceneManagement.LoadSceneMode.Single); #else UnityEngine.SceneManagement.SceneManager.LoadScene("Splash", UnityEngine.SceneManagement.LoadSceneMode.Single); #endif //UnityEngine.SceneManagement.SceneManager.UnloadScene("Main"); }
static public void Clear() { Destroy(m_Instance.gameObject); m_Instance = null; }