Partager via


Registre de services Mixed Reality — MRTK2

Le kit de ressources Mixed Reality comporte deux composants nommés de la même manière qui effectuent des tâches associées : MixedRealityServiceRegistry et IMixedRealityServiceRegistrar.

MixedRealityServiceRegistry

MixedRealityServiceRegistry est le composant qui contient des instances de chaque service inscrit (systèmes principaux et services d’extension).

Notes

MixedRealityServiceRegistry contient des instances d’objets qui implémentent l’interface IMixedRealityService , y compris IMixedRealityExtensionService.

Les objets implémentant IMixedRealityDataProvider (une sous-classe d’IMixedRealityService) ne sont pas explicitement inscrits dans mixedRealityServiceRegistry. Ces objets sont gérés par les services individuels (par exemple, Spatial Awareness).

MixedRealityServiceRegistry est implémenté en tant que classe C# statique et est le modèle recommandé pour acquérir des instances de service dans le code d’application.

L’extrait de code suivant illustre l’acquisition d’un instance IMixedRealityInputSystem.

IMixedRealityInputSystem inputSystem = null;

if (!MixedRealityServiceRegistry.TryGetService<IMixedRealityInputSystem>(out inputSystem))
{
    // Failed to acquire the input system. It may not have been registered
}

IMixedRealityServiceRegistrar

IMixedRealityServiceRegistrar est l’interface qui définit les fonctionnalités implémentées par les composants qui gèrent l’inscription d’un ou plusieurs services. Les composants qui implémentent IMixedRealityServiceRegistrar sont responsables de l’ajout et de la suppression des données dans MixedRealityServiceRegistry. L’objet MixedRealityToolkit est l’un de ces composants.

Vous trouverez d’autres bureaux d’enregistrement dans le dossier MRTK/SDK/Experimental/Features. Ces composants peuvent être utilisés pour ajouter la prise en charge d’un seul service (par exemple, Spatial Awareness) à une application. Ces gestionnaires de service uniques sont répertoriés ci-dessous.

Chacun des composants ci-dessus, à l’exception d’InputSystemManager, est responsable de la gestion de l’inscription et des status d’un type de service unique. InputSystem nécessite des services de support supplémentaires (par exemple, FocusProvider) qui sont également gérés par l’InputSystemManager.

En général, les méthodes définies par IMixedRealityServiceRegistrar sont appelées en interne par les composants de gestion de service ou appelées par les services qui nécessitent des composants de service supplémentaires pour fonctionner correctement. En règle générale, le code d’application ne doit pas appeler ces méthodes, car cela peut entraîner un comportement imprévisible de l’application (par exemple, un service mis en cache instance peut devenir non valide).

Voir aussi