public static void GlobalInitialization() { Debug.Log("EasyAR Sense Unity Plugin Version " + EasyARVersion.FullVersion); #if UNITY_ANDROID && !UNITY_EDITOR if (Settings.ARCoreSupport) { try { using (var systemClass = new AndroidJavaClass("java.lang.System")) { systemClass.CallStatic("loadLibrary", "arcore_sdk_c"); } } catch (AndroidJavaException) { ARCoreLoadFailed = true; } } #endif Initialized = false; Scheduler = new DelayedCallbackScheduler(); #if UNITY_EDITOR Log.setLogFuncWithScheduler(Scheduler, (LogLevel, msg) => { switch (LogLevel) { case LogLevel.Error: Debug.LogError(msg); break; case LogLevel.Warning: Debug.LogWarning(msg); break; case LogLevel.Info: Debug.Log(msg); break; default: break; } }); #endif var key = Settings.LicenseKey; System.AppDomain.CurrentDomain.DomainUnload += (sender, e) => { #if UNITY_EDITOR Log.resetLogFunc(); #endif if (Scheduler != null) { Scheduler.Dispose(); } settings = null; }; #if UNITY_ANDROID && !UNITY_EDITOR using (var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (var currentActivity = unityPlayerClass.GetStatic <AndroidJavaObject>("currentActivity")) using (var easyarEngineClass = new AndroidJavaClass("cn.easyar.Engine")) { var activityclassloader = currentActivity.Call <AndroidJavaObject>("getClass").Call <AndroidJavaObject>("getClassLoader"); if (activityclassloader == null) { Debug.Log("ActivityClassLoader is null"); } easyarEngineClass.CallStatic("loadLibraries"); if (!easyarEngineClass.CallStatic <bool>("setupActivity", currentActivity)) { Debug.LogError("EasyAR Sense Initialize Fail"); Initialized = false; return; } } #endif if (!Engine.initialize(key.Trim())) { Debug.LogError("EasyAR Sense Initialize Fail"); Initialized = false; return; } else { Initialized = true; } System.AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Debug.Log("UnhandledException: " + e.ExceptionObject.ToString()); }; }
public static void GlobalInitialization() { #if UNITY_EDITOR Log.setLogFunc((LogLevel, msg) => { switch (LogLevel) { case LogLevel.Error: Debug.LogError(msg); break; case LogLevel.Warning: Debug.LogWarning(msg); break; case LogLevel.Info: Debug.Log(msg); break; default: break; } }); System.AppDomain.CurrentDomain.DomainUnload += (sender, e) => { Log.resetLogFunc(); }; #endif Initialized = false; Scheduler = new DelayedCallbackScheduler(); var key = Settings.LicenseKey; System.AppDomain.CurrentDomain.DomainUnload += (sender, e) => { if (Scheduler != null) { Scheduler.Dispose(); } settings = null; }; #if UNITY_ANDROID && !UNITY_EDITOR using (var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (var currentActivity = unityPlayerClass.GetStatic <AndroidJavaObject>("currentActivity")) using (var easyarEngineClass = new AndroidJavaClass("cn.easyar.Engine")) { var activityclassloader = currentActivity.Call <AndroidJavaObject>("getClass").Call <AndroidJavaObject>("getClassLoader"); if (activityclassloader == null) { Debug.Log("ActivityClassLoader is null"); } if (!easyarEngineClass.CallStatic <bool>("initialize", currentActivity, key)) { Debug.LogError("EasyAR Sense Initialize Fail"); Initialized = false; return; } else { Initialized = true; } } #else if (!Engine.initialize(key.Trim())) { Debug.LogError("EasyAR Sense Initialize Fail"); Initialized = false; return; } else { Initialized = true; } #endif System.AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Debug.Log("UnhandledException: " + e.ExceptionObject.ToString()); }; }
public static void GlobalInitialization() { Initialized = false; Scheduler = new DelayedCallbackScheduler(); var easyarSettings = Resources.Load <EasyARSettings>("EasyARKey"); var key = easyarSettings.EasyARKey; //Debug.Log("0000 ->>>>>. "+easyarSettings.EasyARKey); //key = "r0kFOKuPAj6z4Kbnk3UyuvCxogPKXApvloMb9aPEj/inxQi1pIDb5neESzPnRk+y48eKceUTnSbvBAgwpUbY8CTGm+P3hos0IgSP+iZDgTH3k18j94bJMCZGT7Gj1V3+IdVL9aSEyHGtRM+gcYsb8CTGmPInQ4mwoVZOsKQGyPKnx8o0N5bb8CTGmPInQ4mwoVZOsKQGyPKnx8o0N4qYYGKFj/KnRk50N5NFoGeFj7Kn1UQj94HIcKIESLRkQRvmadVOsqSEyLUj1VhgZEWLoGhW2/GhAck0ZkjJM6ZJDnCkQdvmZICIc/QVSTQsBguwpBVd8WdGz7GgVs2gZ4CI8eQEgTHj1V3+N4UIs7SHCzalxY0jYsWIc+SHi7LmQRv/tBVO8KOHizNiARvmadVL8KPHi6BoVtv05AWOcWTBSDQ3k0WgZ0ZKdGTHimBoVtvxoQHJNGZIyTOmSQ5wpEHb5mSAiHP0FUk0LAYLsKQVXfFnRs+xoFbNoGeAiPHkBIEx49Vd/jeFCLO0hws2pcWNI2LFiHPkh4uy5kEb/7QVTvCjh4szYgEb5mnVS/Cjx4ugaFbb9OQFjnFkwUg0N5NFoGVGD6BoVtvxoQHJNGZIyTOmSQ5wpEHb5mSAiHP0FUk0LAYLsKQVXfFnRs+xoEqMO3RY54NP4gQ7AAIFWiA338gz8whWqRc2OPUFnqNFJ6OHcfSJ6HTVCqll5fiqGtzHi42qqBMa2hj4AMb1i7HG4VKfTqvUQCrMjAIVaEUUiX6G6W1HZyARdgqtZwEXbABrEH/zpkDE9lymak5xIUVkDHteKqcsK25TjTcfwkz3lFXt1Qe4xVrnTTT6iGNV2D1RZ8JbknxN8OYud0u5DCpVxYApfsbzKJaOmm2XoPgLOUsjci3M0bS4zn9FRQ1cNta2LqYepTSatWbFl619EgQjByF0kX/9+Pn5mhFieSuIGTqtBLXopL4nsQSfFmcXqxzORWmxNZ2mrc9cVAJUaP8d00="; #if UNITY_ANDROID && !UNITY_EDITOR using (var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (var currentActivity = unityPlayerClass.GetStatic <AndroidJavaObject>("currentActivity")) using (var easyarEngineClass = new AndroidJavaClass("cn.easyar.Engine")) { var activityclassloader = currentActivity.Call <AndroidJavaObject>("getClass").Call <AndroidJavaObject>("getClassLoader"); if (activityclassloader == null) { Debug.Log("ActivityClassLoader is null"); } if (!easyarEngineClass.CallStatic <bool>("initialize", currentActivity, key)) { Debug.Log("EasyAR initialization failed"); Initialized = false; return; } else { Initialized = true; } } #else if (!Engine.initialize(key)) { Debug.LogError("[EasyAR] EasyAR initialization failed"); Initialized = false; return; } else { Debug.Log("[EasyAR] EasyAR initialization successful"); Debug.Log("[EasyAR] EasyAR Version : " + Engine.versionString()); Initialized = true; } #endif #if UNITY_EDITOR Log.setLogFunc((LogLevel, msg) => { switch (LogLevel) { case LogLevel.Error: Debug.LogError("[EasyAR]" + msg); break; case LogLevel.Warning: Debug.LogWarning("[EasyAR]" + msg); break; case LogLevel.Info: Debug.Log("[EasyAR]" + msg); break; default: break; } }); #endif System.AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Debug.Log("UnhandledException: " + e.ExceptionObject.ToString()); }; System.AppDomain.CurrentDomain.DomainUnload += (sender, e) => { if (Scheduler != null) { Scheduler.Dispose(); } Log.resetLogFunc(); }; }