Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zestaw narzędzi Mixed Reality ma dwa bardzo podobne nazwane składniki, które wykonują powiązane zadania: MixedRealityServiceRegistry i IMixedRealityServiceRegistrar.
MixedRealityServiceRegistry
MixedRealityServiceRegistry jest składnikiem, który zawiera wystąpienia każdej zarejestrowanej usługi (podstawowe systemy i usługi rozszerzeń).
Uwaga
Element MixedRealityServiceRegistry zawiera wystąpienia obiektów implementujących interfejs IMixedRealityService , w tym IMixedRealityExtensionService.
Obiekty implementowane obiektu IMixedRealityDataProvider (podklasy IMixedRealityService) nie są jawnie zarejestrowane w MixedRealityServiceRegistry. Te obiekty są zarządzane przez poszczególne usługi (np. Świadomość przestrzenna).
Klasa MixedRealityServiceRegistry jest implementowana jako statyczna klasa języka C# i jest zalecanym wzorcem używanym do uzyskiwania wystąpień usługi w kodzie aplikacji.
Poniższy fragment kodu przedstawia uzyskiwanie wystąpienia IMixedRealityInputSystem.
IMixedRealityInputSystem inputSystem = null;
if (!MixedRealityServiceRegistry.TryGetService<IMixedRealityInputSystem>(out inputSystem))
{
// Failed to acquire the input system. It may not have been registered
}
IMixedRealityServiceRegistrar
IMixedRealityServiceRegistrar to interfejs, który definiuje funkcjonalność zaimplementowaną przez składniki, które zarządzają rejestracją co najmniej jednej usługi. Składniki implementujące IMixedRealityServiceRegistrar są odpowiedzialne za dodawanie i usuwanie danych w MixedRealityServiceRegistry. Obiekt MixedRealityToolkit jest jednym z takich składników.
Inni rejestratorzy znajdują się w folderze MRTK/SDK/Experimental/Features. Te składniki mogą służyć do dodawania obsługi pojedynczej usługi (np. rozpoznawania przestrzennego) do aplikacji. Poniżej wymieniono tych pojedynczych menedżerów usług.
- BoundarySystemManager
- CameraSystemManager
- DiagnosticsSystemManager
- InputSystemManager
- SpatialAwarenessSystemManager
- TeleportSystemManager
Każdy z powyższych składników, z wyjątkiem InputSystemManager, jest odpowiedzialny za zarządzanie rejestracją i stanem pojedynczego typu usługi. InputSystem wymaga pewnych dodatkowych usług pomocy technicznej (np. FocusProvider), które są również zarządzane przez InputSystemManager.
Ogólnie rzecz biorąc, metody zdefiniowane przez IMixedRealityServiceRegistrar są wywoływane wewnętrznie przez składniki zarządzania usługami lub wywoływane przez usługi, które wymagają poprawnego działania dodatkowych składników usługi. Kod aplikacji powinien, ogólnie rzecz biorąc, nie wywoływać tych metod, co może spowodować, że aplikacja będzie zachowywać się nieprzewidywalnie (np. wystąpienie usługi w pamięci podręcznej może stać się nieprawidłowe).