void ConfigurationStatusHandler(object sender, EngineStateValue <EyeTrackingConfigurationStatus> e) { _dispatcher.Invoke(() => { _configurationStatus = GetConfigurationStatus(e); _semaphore.Release(); }); }
void StartStatusListening() { _semaphore = new SemaphoreSlim(0); // Get initial status values. _deviceStatus = GetDeviceStatus(_eyeXHost.EyeTrackingDeviceStatus); _configurationStatus = GetConfigurationStatus(_eyeXHost.ConfigurationStatus); // Start listening for changes. _eyeXHost.EyeTrackingDeviceStatusChanged += DeviceStatusHandler; _eyeXHost.ConfigurationStatusChanged += ConfigurationStatusHandler; }