/// <inheritdoc />
 public void SuspendObserver(IMixedRealitySpatialObserverDataProvider observer)
 {
     foreach (var spatialObserver in DetectedSpatialObservers)
     {
         if (spatialObserver.SourceId == observer.SourceId)
         {
             spatialObserver.StopObserving();
             break;
         }
     }
 }
        /// <inheritdoc />
        public bool IsObserverRunning(IMixedRealitySpatialObserverDataProvider observer)
        {
            foreach (var detectedObserver in DetectedSpatialObservers)
            {
                if (detectedObserver.SourceId == observer.SourceId)
                {
                    return(observer.IsRunning);
                }
            }

            return(false);
        }
 /// <inheritdoc />
 public void RaiseSpatialAwarenessObserverLost(IMixedRealitySpatialObserverDataProvider observer)
 {
     DetectedSpatialObservers.Remove(observer);
 }
 /// <inheritdoc />
 public void RaiseSpatialAwarenessObserverDetected(IMixedRealitySpatialObserverDataProvider observer)
 {
     DetectedSpatialObservers.Add(observer);
 }
 private bool Equals(IMixedRealitySpatialObserverDataProvider other)
 {
     return(other != null && SourceId == other.SourceId && string.Equals(SourceName, other.SourceName));
 }
 /// <summary>
 /// Determines if the specified objects are equal.
 /// </summary>
 /// <param name="left"></param>
 /// <param name="right"></param>
 /// <returns></returns>
 public static bool Equals(IMixedRealitySpatialObserverDataProvider left, IMixedRealitySpatialObserverDataProvider right)
 {
     return(left.Equals(right));
 }
 /// <summary>
 /// Used to initialize/reset the event and populate the data.
 /// </summary>
 /// <param name="spatialAwarenessObserver"></param>
 /// <param name="id"></param>
 /// <param name="spatialObject"></param>
 public void Initialize(IMixedRealitySpatialObserverDataProvider spatialAwarenessObserver, int id, T spatialObject)
 {
     BaseInitialize(spatialAwarenessObserver);
     Id            = id;
     SpatialObject = spatialObject;
 }