using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class ConfigController : MonoBehaviour { public GameObject allignBtns, allignMicros; bool showMics = false; Coroutine running = null; void Start() { allignMicros.SetActive(false); } public void GoToMicros() { allignBtns.SetActive(false); allignMicros.SetActive(true); MicroPhoneChoose_Contorl.instance.ListMicros(); showMics = true; } public void GoBack() { if (showMics) { allignBtns.SetActive(true); allignMicros.SetActive(false); showMics = false; } else { if (running == null) { AsyncOperation obj = SceneManager.LoadSceneAsync("Transition", LoadSceneMode.Additive); obj.completed += (asyncOperation) => { //Do stuff here with returned value asyncOperation GameObject.Find("Canvas - Transition").GetComponent().StartLoadingScene("SampleScene"); running = StartCoroutine(WaitToDeactivateScene()); }; } } } IEnumerator WaitToDeactivateScene() { yield return new WaitForSecondsRealtime(.6f); running = null; SceneManager.UnloadSceneAsync("Config", UnloadSceneOptions.UnloadAllEmbeddedSceneObjects); } #region Cola Activities /* android.settings.WIFI_SETTINGS * android.settings.DATE_SETTINGS * android.settings.BLUETOOTH_SETTINGS */ #endregion public void OpenAndroidSettings(string whichSettings) { StartCoroutine(OpenSettingsWait(whichSettings)); } IEnumerator OpenSettingsWait(string activity) { yield return new WaitForSecondsRealtime(0.8f); try { #if UNITY_ANDROID using (var unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (AndroidJavaObject currentActivityObject = unityClass.GetStatic("currentActivity")) { using (var uriClass = new AndroidJavaClass("android.net.Uri")) //using (AndroidJavaObject uriObject = uriClass.CallStatic("fromParts", "package", packageName, null)) using (var intentObject = new AndroidJavaObject("android.content.Intent", activity)) { intentObject.Call("addCategory", "android.intent.category.DEFAULT"); intentObject.Call("setFlags", 0x10000000); currentActivityObject.Call("startActivity", intentObject); } } #endif } catch (Exception ex) { Debug.LogException(ex); } } }