/// <summary> /// Initializes a new instance of the <see cref="PikkartAR.DataProvider"/> class. /// </summary> /// <param name="cloudRecognitionServiceListener">Cloud recognition service listener.</param> /// <param name="localRecognitionService">Local recognition service.</param> /// <param name="deviceId">Device identifier.</param> public RecognitionDataProvider(CloudRecognitionInfo authInfo, IRecognitionDataProviderListener recognitionDataProviderListener, string deviceId) { _nativeArray = Marshal.AllocHGlobal(Constants.CAMERA_REQUESTED_WIDTH * Constants.CAMERA_REQUESTED_HEIGHT * 3); _dataProviderListener = recognitionDataProviderListener; _localRecognitionService = new LocalRecognitionService(); _cloudRecognitionService = new CloudRecognitionService(authInfo, deviceId); _cachedMarker = null; }
protected void SyncLocalMarkers(bool isRecognitionManagerRunning, IRecognitionDataProviderListener recognitionDataProviderListener) { #if UNITY_ANDROID && !UNITY_EDITOR AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject context = jc.GetStatic <AndroidJavaObject>("currentActivity"); AndroidJavaObject assetManager = context.Call <AndroidJavaObject>("getAssets"); #endif PikkartARCore.CheckUnityLicense( #if UNITY_ANDROID && !UNITY_EDITOR assetManager.GetRawObject() #elif UNITY_EDITOR_WIN new StringBuilder(Application.streamingAssetsPath), #if UNITY_5_6_OR_NEWER new StringBuilder(PlayerSettings.applicationIdentifier) #else new StringBuilder(PlayerSettings.bundleIdentifier) #endif #endif ); new RecognitionDataProvider(new CloudRecognitionInfo(databases), recognitionDataProviderListener, RecognitionManager.GetDeviceId()).SyncLocalMarkers(isRecognitionManagerRunning); }