private void AddDevice(IDeviceHandle <IHMDDevice, IHMDInfo> handle) { _lock.EnterWriteLock(); try { var resources = new DeviceResources(_factory, handle); var key = resources.Key; _nativeResources.Add(key, resources); HMD hmd; if (!_devices.TryGetValue(key, out hmd)) { // There's no HMD for this device yet: We need to create one hmd = new HMD(handle.DeviceInfo, _lock); _devices.Add(key, hmd); } hmd.Resources = resources; var fn = DeviceAttached; if (fn != null) { fn(hmd); } } finally { _lock.ExitWriteLock(); } }
private void AddDevice(IDeviceHandle<IHMDDevice, IHMDInfo> handle) { _lock.EnterWriteLock(); try { var resources = new DeviceResources(_factory, handle); var key = resources.Key; _nativeResources.Add(key, resources); HMD hmd; if (!_devices.TryGetValue(key, out hmd)) { // There's no HMD for this device yet: We need to create one hmd = new HMD(handle.DeviceInfo, _lock); _devices.Add(key, hmd); } hmd.Resources = resources; var fn = DeviceAttached; if (fn != null) { fn(hmd); } } finally { _lock.ExitWriteLock(); } }