/// <summary>
        /// Call to register an ITrackingObserver to use for determining tracking state.
        /// </summary>
        /// <param name="trackingObserver">Tracking observer used to determine tracking state.</param>
        public void RegisterTrackingObserver(ITrackingObserver trackingObserver)
        {
            if (this.trackingObserver != null)
            {
                Debug.LogError("Multiple tracking observers registered for the application.");
            }

            this.trackingObserver = trackingObserver;
        }
 /// <summary>
 /// Call to unregister an ITrackingObserver to use for determining tracking state.
 /// </summary>
 /// <param name="trackingObserver">Tracking observer used to determine tracking state.</param>
 public void UnregisterTrackingObserver(ITrackingObserver trackingObserver)
 {
     if (this.trackingObserver != trackingObserver)
     {
         Debug.LogWarning("Attempted to unregister tracking observer that wasn't registered.");
     }
     else
     {
         this.trackingObserver = null;
     }
 }
Exemple #3
0
 public IObservable<TrackingInformation> Watch(ITrackingObserver observer)
 {
     _observers.Add(observer);
     if (_retriever == null) {
         lock (_SyncRoot) {
             if (_retriever == null) {
                 createLotRetriever();
             }
         }
     }
     return _publish;
 }
Exemple #4
0
 public void ReleaseWatch(ITrackingObserver observer)
 {
     _observers.Remove(observer);
 }