Aracılığıyla paylaş


Karma Gerçeklik hizmet kayıt defteri — MRTK2

Karma Gerçeklik Araç Seti, ilgili görevleri gerçekleştiren çok benzer adlı iki bileşene sahiptir: MixedRealityServiceRegistry ve IMixedRealityServiceRegistrar.

MixedRealityServiceRegistry

MixedRealityServiceRegistry, kayıtlı her hizmetin (çekirdek sistemler ve uzantı hizmetleri) örneklerini içeren bileşendir.

Not

MixedRealityServiceRegistry, IMixedRealityExtensionService dahil olmak üzere IMixedRealityService arabirimini uygulayan nesnelerin örneklerini içerir.

IMixedRealityDataProvider (IMixedRealityService alt sınıfı) uygulayan nesneler açıkça MixedRealityServiceRegistry'ye kaydedilmez. Bu nesneler tek tek hizmetler tarafından yönetilir (örneğin: Uzamsal Farkındalık).

MixedRealityServiceRegistry statik bir C# sınıfı olarak uygulanır ve uygulama kodunda hizmet örneklerini almak için kullanılması önerilen desendir.

Aşağıdaki kod parçacığı bir IMixedRealityInputSystem örneği alma işlemini gösterir.

IMixedRealityInputSystem inputSystem = null;

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

IMixedRealityServiceRegistrar

IMixedRealityServiceRegistrar, bir veya daha fazla hizmetin kaydını yöneten bileşenler tarafından uygulanan işlevselliği tanımlayan arabirimdir. IMixedRealityServiceRegistrar uygulayan bileşenler, MixedRealityServiceRegistry içindeki verileri eklemek ve kaldırmakla sorumludur. MixedRealityToolkit nesnesi bu tür bileşenlerden biridir.

Diğer kayıt şirketleri MRTK/SDK/Experimental/Features klasöründe bulunabilir. Bu bileşenler bir uygulamaya tek hizmet (örneğin Uzamsal Farkındalık) desteği eklemek için kullanılabilir. Bu tek hizmet yöneticileri aşağıda listelenmiştir.

InputSystemManager dışında yukarıdaki bileşenlerin her biri, tek bir hizmet türünün kaydını ve durumunu yönetmekten sorumludur. InputSystem, InputSystemManager tarafından da yönetilen bazı ek destek hizmetleri (ör. FocusProvider) gerektirir.

Genel olarak, IMixedRealityServiceRegistrar tarafından tanımlanan yöntemler, hizmet yönetimi bileşenleri tarafından dahili olarak veya düzgün çalışması için ek hizmet bileşenleri gerektiren hizmetler tarafından çağrılır. Uygulama kodu genellikle bu yöntemleri çağırmamalıdır çünkü bunu yapmak uygulamanın öngörülemez davranmasına neden olabilir (örneğin, önbelleğe alınmış bir hizmet örneği geçersiz hale gelebilir).

Ayrıca bkz.