/// <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; } }
public IObservable<TrackingInformation> Watch(ITrackingObserver observer) { _observers.Add(observer); if (_retriever == null) { lock (_SyncRoot) { if (_retriever == null) { createLotRetriever(); } } } return _publish; }
public void ReleaseWatch(ITrackingObserver observer) { _observers.Remove(observer); }