Megosztás a következőn keresztül:


Mixed Reality szolgáltatásregisztrációs adatbázis – MRTK2

A Mixed Reality eszközkészlet két nagyon hasonló nevű összetevővel rendelkezik, amelyek kapcsolódó feladatokat hajtanak végre: MixedRealityServiceRegistry és IMixedRealityServiceRegistrar.

MixedRealityServiceRegistry

A MixedRealityServiceRegistry az az összetevő, amely az egyes regisztrált szolgáltatások (alapvető rendszerek és bővítményszolgáltatások) példányait tartalmazza.

Megjegyzés

A MixedRealityServiceRegistry olyan objektumpéldányokat tartalmaz, amelyek az IMixedRealityService felületet implementálják, beleértve az IMixedRealityExtensionService szolgáltatást is.

Az IMixedRealityDataProvidert (az IMixedRealityService alosztályát) implementáló objektumok kifejezetten nincsenek regisztrálva a MixedRealityServiceRegistryben. Ezeket az objektumokat az egyes szolgáltatások kezelik (például: Térbeli tudatosság).

A MixedRealityServiceRegistry statikus C#-osztályként van implementálva, és az alkalmazáskód szolgáltatáspéldányainak beszerzéséhez ajánlott minta.

Az alábbi kódrészlet egy IMixedRealityInputSystem-példány beszerzését mutatja be.

IMixedRealityInputSystem inputSystem = null;

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

IMixedRealityServiceRegistrar

Az IMixedRealityServiceRegistrar az a felület, amely meghatározza az egy vagy több szolgáltatás regisztrációját kezelő összetevők által megvalósított funkciókat. Az IMixedRealityServiceRegistrart implementáló összetevők felelősek az adatok Hozzáadásáért és eltávolításáért a MixedRealityServiceRegistryben. A MixedRealityToolkit objektum egy ilyen összetevő.

Más regisztrálók az MRTK/SDK/Experimental/Features mappában találhatók. Ezek az összetevők egyetlen szolgáltatás (pl. térbeli tudatosság) támogatásának alkalmazáshoz való hozzáadására használhatók. Ezek az önálló szolgáltatásmenedzserek az alábbiakban láthatók.

A fenti összetevők mindegyike az InputSystemManager kivételével felelős egyetlen szolgáltatástípus regisztrációjának és állapotának kezeléséért. Az InputSystem további támogatási szolgáltatásokat igényel (például: FocusProvider), amelyeket az InputSystemManager is kezel.

Az IMixedRealityServiceRegistrar által definiált metódusokat általában szolgáltatásfelügyeleti összetevők vagy olyan szolgáltatások hívják meg, amelyek további szolgáltatásösszetevőket igényelnek a megfelelő működéshez. Az alkalmazáskódnak általában nem kell meghívnia ezeket a metódusokat, mivel ez az alkalmazás kiszámíthatatlan viselkedését okozhatja (például egy gyorsítótárazott szolgáltatáspéldány érvénytelenné válhat).

Lásd még