Condividi tramite


Realtà mista registro dei servizi - MRTK2

Il toolkit Realtà mista include due componenti molto simili che eseguono attività correlate: MixedRealityServiceRegistry e IMixedRealityServiceRegistrar.

MixedRealityServiceRegistry

MixedRealityServiceRegistry è il componente che contiene istanze di ogni servizio registrato (sistemi di base e servizi di estensione).

Nota

MixedRealityServiceRegistry contiene istanze di oggetti che implementano l'interfaccia IMixedRealityService, tra cui IMixedRealityExtensionService.

Gli oggetti che implementano IMixedRealityDataProvider (una sottoclasse di IMixedRealityService) non vengono registrati in modo esplicito in MixedRealityServiceRegistry. Questi oggetti vengono gestiti dai singoli servizi (ad esempio Consapevolezza spaziale).

MixedRealityServiceRegistry viene implementato come classe C# statica ed è il modello consigliato da usare per acquisire istanze del servizio nel codice dell'applicazione.

Il frammento di codice seguente illustra l'acquisizione di un'istanza di IMixedRealityInputSystem.

IMixedRealityInputSystem inputSystem = null;

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

IMixedRealityServiceRegistrar

IMixedRealityServiceRegistrar è l'interfaccia che definisce la funzionalità implementata dai componenti che gestiscono la registrazione di uno o più servizi. I componenti che implementano IMixedRealityServiceRegistrar sono responsabili dell'aggiunta e della rimozione dei dati all'interno di MixedRealityServiceRegistry. L'oggetto MixedRealityToolkit è un componente di questo tipo.

Altri registrar sono disponibili nella cartella MRTK/SDK/Experimental/Features. Questi componenti possono essere usati per aggiungere un singolo servizio (ad esempio: Consapevolezza spaziale) a un'applicazione. Di seguito sono elencati questi singoli gestori di servizi.

Ognuno dei componenti precedenti, ad eccezione di InputSystemManager, è responsabile della gestione della registrazione e dello stato di un singolo tipo di servizio. InputSystem richiede alcuni servizi di supporto aggiuntivi (ad esempio FocusProvider) gestiti anche da InputSystemManager.

In generale, i metodi definiti da IMixedRealityServiceRegistrar vengono chiamati internamente dai componenti di gestione dei servizi o chiamati dai servizi che richiedono componenti di servizio aggiuntivi per funzionare correttamente. Il codice dell'applicazione deve, in genere, non chiamare questi metodi perché l'applicazione si comporta in modo imprevedibile (ad esempio, un'istanza del servizio memorizzata nella cache potrebbe diventare non valida).

Vedi anche