public void OnInitialized() { mObjectTracker = TrackerManager.Instance.GetTracker <ObjectTracker> (); if (mObjectTracker != null) { // Create a new dataset mBuiltDataSet = mObjectTracker.CreateDataSet(); mObjectTracker.ActivateDataSet(mBuiltDataSet); } }
protected override void OnDestroy() { ((StateManagerImpl)TrackerManager.Instance.GetStateManager()).ClearTrackableBehaviours(); ObjectTracker tracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); if (tracker != null) { tracker.DestroyAllDataSets(false); tracker.Stop(); } TextTracker tracker2 = TrackerManager.Instance.GetTracker <TextTracker>(); if (tracker2 != null) { tracker2.Stop(); } SmartTerrainTracker tracker3 = TrackerManager.Instance.GetTracker <SmartTerrainTracker>(); if (tracker3 != null) { tracker3.Stop(); } DeviceTracker tracker4 = TrackerManager.Instance.GetTracker <DeviceTracker>(); if (tracker4 != null) { tracker4.Stop(); } VuforiaManager.Instance.Deinit(); if (tracker != null) { TrackerManager.Instance.DeinitTracker <ObjectTracker>(); } if (tracker2 != null) { TrackerManager.Instance.DeinitTracker <TextTracker>(); } if (tracker3 != null) { tracker3.SmartTerrainBuilder.Deinit(); TrackerManager.Instance.DeinitTracker <SmartTerrainTracker>(); } if (tracker4 != null) { TrackerManager.Instance.DeinitTracker <DeviceTracker>(); } this.mHasStartedOnce = false; if (this.mOnVuforiaDeinitialized != null) { this.mOnVuforiaDeinitialized.InvokeWithExceptionHandling(); } }
public void LoadDataSet(string _dataSetName, string _bundleUrl, Transform parent, Action <string> _callback) { Vuforia.ObjectTracker objectTracker = TrackerManager.Instance.GetTracker <Vuforia.ObjectTracker>(); DataSet dataSet = objectTracker.CreateDataSet(); if (dataSet.Load(_dataSetName)) { objectTracker.Stop(); // stop tracker so that we can add new dataset if (!objectTracker.ActivateDataSet(dataSet)) { // Note: ImageTracker cannot have more than 100 total targets activated Debug.Log("<color=yellow>Failed to Activate DataSet: " + _dataSetName + "</color>"); } if (!objectTracker.Start()) { Debug.Log("<color=yellow>Tracker Failed to Start.</color>"); } int counter = 0; IEnumerable <TrackableBehaviour> tbs = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours(); foreach (TrackableBehaviour tb in tbs) { if (tb != null && tb.name == "New Game Object") { var bundleUrl = String.Join("", new string[2] { _bundleUrl, tb.TrackableName }); tb.transform.SetParent(parent); // change generic name to include trackable name tb.gameObject.name = ++counter + ":DynamicImageTarget-" + tb.TrackableName; Debug.Log("bU " + bundleUrl); // add additional script components for trackable var tracker = tb.gameObject.AddComponent <VuforiaTrackManager>(); tracker.Init(_dataSetName, bundleUrl, _callback); tb.gameObject.AddComponent <TurnOffBehaviour>(); } } } else { Debug.LogError("<color=yellow>Failed to load dataset: '" + _dataSetName + "'</color>"); } }
internal void OnVuforiaStarted() { this.mOnInitializedCalled = true; this.mObjectTracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); using (List <IUserDefinedTargetEventHandler> .Enumerator enumerator = this.mHandlers.GetEnumerator()) { while (enumerator.MoveNext()) { enumerator.Current.OnInitialized(); } } if (this.StartScanningAutomatically) { this.StartScanning(); } }
public virtual void Destroy() { Debug.Log("Try destroy TRACKABLE"); if (mTrackableBehaviour) { mTrackableBehaviour.UnregisterTrackableEventHandler(this); } Vuforia.ObjectTracker imageTracker = TrackerManager.Instance.GetTracker <Vuforia.ObjectTracker>(); imageTracker.Stop(); StateManager stateManager = TrackerManager.Instance.GetStateManager(); stateManager.DestroyTrackableBehavioursForTrackable(mTrackableBehaviour.Trackable, true); imageTracker.Start(); }
protected override void OnApplicationPause(bool pause) { if (!VuforiaRuntimeUtilities.IsPlayMode()) { if (pause) { if (!this.mPaused) { if (this.mOnPause != null) { this.mOnPause.InvokeWithExceptionHandling(true); } ObjectTracker tracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); this.mObjectTrackerWasActiveBeforePause = (tracker != null && tracker.IsActive); this.mWasEnabledBeforePause = base.VuforiaBehaviour.enabled; if (this.mWasEnabledBeforePause) { this.StopVuforia(); } GL.Clear(false, true, new Color(0f, 0f, 0f, 1f)); UnityPlayer.Instance.OnPause(); } } else if (this.mPaused) { UnityPlayer.Instance.OnResume(); if (this.mWasEnabledBeforePause && this.StartVuforia(this.mObjectTrackerWasActiveBeforePause)) { IOSCamRecoveringHelper.SetHasJustResumed(); } this.ResetBackgroundPlane(true); if (this.mOnPause != null) { this.mOnPause.InvokeWithExceptionHandling(false); } } } this.mPaused = pause; }
public bool DestroyVirtualButton(VirtualButton vb) { bool result = false; ObjectTracker tracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); if (tracker != null) { bool flag = false; foreach (DataSet current in tracker.GetActiveDataSets()) { if (this.mDataSet == current) { flag = true; } } if (flag) { tracker.DeactivateDataSet(this.mDataSet); } if (this.UnregisterVirtualButtonInNative(vb)) { Debug.Log("Unregistering virtual button successfully"); result = true; this.mVirtualButtons.Remove(vb.ID); } else { Debug.LogError("Failed to unregister virtual button."); } if (flag) { tracker.ActivateDataSet(this.mDataSet); } } return(result); }
public override bool DeinitTracker <T>() { bool flag = true; if (VuforiaRuntimeUtilities.IsPlayMode() && (typeof(T) == typeof(DeviceTracker) || typeof(T) == typeof(RotationalDeviceTracker))) { flag = false; } if (flag && VuforiaWrapper.Instance.TrackerManagerDeinitTracker((int)TypeMapping.GetTypeID(typeof(T))) == 0) { Debug.LogError("Could not deinitialize the tracker."); return(false); } if (typeof(T) == typeof(ObjectTracker)) { this.mObjectTracker = null; } else if (typeof(T) == typeof(TextTracker)) { this.mTextTracker = null; } else if (typeof(T) == typeof(SmartTerrainTracker)) { this.mSmartTerrainTracker = null; } else { if (typeof(T) != typeof(DeviceTracker) && typeof(T) != typeof(RotationalDeviceTracker)) { Debug.LogError("Could not deinitialize tracker. Unknown tracker type."); return(false); } this.mDeviceTracker = null; } return(true); }
private bool StopVuforia() { this.mHasStarted = false; Debug.Log("StopVuforia"); ObjectTracker tracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); if (tracker != null) { tracker.Stop(); } CameraDevice.Instance.GetSelectedCameraDirection(out this.CameraDirection); this.CameraDeviceModeSetting = this.CameraDeviceMode; if (!CameraDevice.Instance.Stop()) { return(false); } if (!CameraDevice.Instance.Deinit()) { return(false); } VuforiaRenderer.Instance.ClearVideoBackgroundConfig(); Device.Instance.DeleteRenderingPrimitives(); return(true); }
public void LoadDatasets() { if (this.mDatasetsLoaded) { return; } if (!VuforiaRuntimeUtilities.IsVuforiaEnabled()) { return; } ObjectTracker tracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); string[] array = this.mDataSetsToLoad; int i = 0; while (i < array.Length) { string text = array[i]; DataSet dataSet = null; if (DataSet.Exists(text)) { dataSet = tracker.CreateDataSet(); if (dataSet.Load(text)) { goto IL_12A; } Debug.LogError("Failed to load data set " + text + "."); } else { if (this.mExternalDatasetRoots.Count <= 0) { goto IL_12A; } Debug.Log("Data set " + text + " not present in application package, checking extended root locations"); using (List <string> .Enumerator enumerator = this.mExternalDatasetRoots.GetEnumerator()) { while (enumerator.MoveNext()) { string text2 = enumerator.Current + text + ".xml"; if (DataSet.Exists(text2, VuforiaUnity.StorageType.STORAGE_ABSOLUTE)) { dataSet = tracker.CreateDataSet(); if (!dataSet.Load(text2, VuforiaUnity.StorageType.STORAGE_ABSOLUTE)) { Debug.LogError("Failed to load data set " + text2 + "."); } else { Debug.Log("Loaded dataset at " + text2); } } } } if (dataSet == null) { Debug.LogError("Unable to find " + text + " in extended root locations"); goto IL_12A; } goto IL_12A; } IL_15C: i++; continue; IL_12A: if (!this.mDataSetsToActivate.Contains(text)) { goto IL_15C; } if (dataSet != null) { tracker.ActivateDataSet(dataSet); goto IL_15C; } Debug.LogError("Dataset " + text + " could not be loaded and cannot be activated."); goto IL_15C; } this.mDatasetsLoaded = true; }
public void OnInitialized() { mObjectTracker = (ObjectTracker)TrackerManager.Instance.GetTracker <ObjectTracker>(); }