示例#1
0
        /// <inheritdoc/>
        public override void Enable()
        {
            base.Enable();

            MixedRealitySpatialAwarenessSystemProfile profile = ConfigurationProfile as MixedRealitySpatialAwarenessSystemProfile;

            if ((observers.Count == 0) && (profile != null))
            {
                // Register the spatial observers.
                for (int i = 0; i < profile.ObserverConfigurations.Length; i++)
                {
                    MixedRealitySpatialObserverConfiguration configuration = profile.ObserverConfigurations[i];
                    object[] args = { Registrar, this, configuration.ComponentName, configuration.Priority, configuration.ObserverProfile };

                    if (Registrar.RegisterDataProvider <IMixedRealitySpatialAwarenessObserver>(
                            configuration.ComponentType.Type,
                            configuration.RuntimePlatform,
                            args))
                    {
                        observers.Add(Registrar.GetDataProvider <IMixedRealitySpatialAwarenessObserver>(configuration.ComponentName));
                    }
                }
            }
        }