Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El kit de herramientas de Mixed Reality tiene dos componentes con un nombre muy similar que realizan tareas relacionadas: MixedRealityServiceRegistry e IMixedRealityServiceRegistrar.
MixedRealityServiceRegistry
MixedRealityServiceRegistry es el componente que contiene instancias de cada servicio registrado (sistemas principales y servicios de extensión).
Nota:
MixedRealityServiceRegistry contiene instancias de objetos que implementan la interfaz IMixedRealityService , incluido IMixedRealityExtensionService.
Los objetos que implementan IMixedRealityDataProvider (una subclase de IMixedRealityService) no se registran explícitamente en MixedRealityServiceRegistry. Estos objetos se administran mediante los servicios individuales (por ejemplo, reconocimiento espacial).
MixedRealityServiceRegistry se implementa como una clase estática de C# y es el patrón recomendado que se debe usar para adquirir instancias de servicio en el código de la aplicación.
En el fragmento de código siguiente se muestra cómo adquirir una instancia de IMixedRealityInputSystem.
IMixedRealityInputSystem inputSystem = null;
if (!MixedRealityServiceRegistry.TryGetService<IMixedRealityInputSystem>(out inputSystem))
{
// Failed to acquire the input system. It may not have been registered
}
IMixedRealityServiceRegistrar
IMixedRealityServiceRegistrar es la interfaz que define la funcionalidad implementada por los componentes que administran el registro de uno o varios servicios. Los componentes que implementan IMixedRealityServiceRegistrar son responsables de agregar y quitar los datos dentro de MixedRealityServiceRegistry. El objeto MixedRealityToolkit es uno de estos componentes.
Puede encontrar otros registradores en la carpeta MRTK/SDK/Experimental/Features. Estos componentes se pueden usar para agregar compatibilidad con un solo servicio (por ejemplo, reconocimiento espacial) a una aplicación. Estos administradores de servicios únicos se enumeran a continuación.
- BoundarySystemManager
- CameraSystemManager
- DiagnosticsSystemManager
- InputSystemManager
- SpatialAwarenessSystemManager
- TeleportSystemManager
Cada uno de los componentes anteriores, con la excepción de InputSystemManager, son responsables de administrar el registro y el estado de un único tipo de servicio. InputSystem requiere algunos servicios de soporte técnico adicionales (por ejemplo, FocusProvider) que también administra InputSystemManager.
En general, los métodos definidos por IMixedRealityServiceRegistrar se llaman internamente por componentes de administración de servicios o por servicios que requieren componentes de servicio adicionales para funcionar correctamente. Por lo general, el código de la aplicación no debe llamar a estos métodos, ya que esto puede hacer que la aplicación se comporte de forma imprevisible (por ejemplo, una instancia de servicio almacenada en caché puede dejar de ser válida).