/// <summary> /// Called when [sensor impact]. /// </summary> /// <param name="sensorImpactData">The sensor impact data.</param> private void OnSensorHit(ReceiverEvents.SensorHit e) { if (_config.SpeakImpactLevelEnabled) { lock (_speechSynthesizer) { _speechSynthesizer.SpeakAsyncCancelAll(); _speechSynthesizer.SpeakAsync(e.ImpactLevel.ToString()); } } }
public KickAndPunch( ReceiverEvents.DeviceRegistered deviceRegisteredEvent, ReceiverEvents.ButtonPressed buttonPressedEvent, ReceiverEvents.RegisterDevice registerDeviceRequest, ReceiverEvents.SensorHit deviceSensorHit, ReceiverEvents.DeviceStatusUpdate deviceStatusNotify, ApplicationEvents.ApplicationClosing appClosingEvent) { this.deviceRegisteredEvent = deviceRegisteredEvent; this.buttonPressedEvent = buttonPressedEvent; this.registerDeviceRequest = registerDeviceRequest; this.deviceSensorHit = deviceSensorHit; this.deviceStatusNotify = deviceStatusNotify; this.appClosingEvent = appClosingEvent; }
/// <summary> /// Called when [sensor impact]. /// </summary> /// <param name="sensorImpactData">The sensor impact data.</param> private void OnSensorHit(ReceiverEvents.SensorHit e) { if (_clockState == CountDownClockEvents.StateChangedArgs.Running) { if (e.ImpactLevel >= _config.RequiredImpactLevel) { ScoreModel scoreModel = _container.Resolve <ScoreModel>(e.SensorId); uint oldScore = scoreModel.Value; scoreModel.Value++; _logger.Log(string.Format("Meter Id {0} score now {1}", e.SensorId, scoreModel.Value), Category.Info, Priority.None); _eventAggregator.GetEvent <GameEngineEvents.ScoreChanged>().Publish( new GameEngineEvents.ScoreChanged() { SensorId = e.SensorId, ImpactLevel = e.ImpactLevel, OldScore = oldScore, NewScore = scoreModel.Value }); } } }
/// <summary> /// Called when sensor impact is received. /// </summary> /// <param name="sensorImpactData">The sensor impact data.</param> private void OnSensorHit(ReceiverEvents.SensorHit e) { if (e.SensorId == this.Id) { this.ImpactLevel = e.ImpactLevel; this.HitPanelNum = (int)e.Panel; if (e.ImpactLevel > this.HighestImpactLevel) { this.HighestImpactLevel = e.ImpactLevel; } // Update history while (_graphDataItems.Count >= 10) { _graphDataItems.RemoveAt(0); } _graphDataItems.Add(e.ImpactLevel); } }
/// <summary> /// Called when [sensor impact]. /// </summary> /// <param name="sensorImpactData">The sensor impact data.</param> private void OnSensorHit(ReceiverEvents.SensorHit e) { if (_clockRunning) { using (ReaderWriterLockMgr lockMgr = new ReaderWriterLockMgr(_dataLog.Impacts.Lock)) { lockMgr.EnterWriteLock(); _dataLog.Impacts.AddImpactsRow( DateTime.Now, // Current datetime stamp e.SensorId, // Sensor ID _game.GameNumber, // Game number _game.RoundNumber, // Round number DateTime.Now - _countdownStartedTime, // Elapsed time (_meterNames.ContainsKey(e.SensorId) ? _meterNames[e.SensorId] : string.Empty), // Meter Name e.OpCode, // Data Source Type _config.RequiredImpactLevel, // required impact level e.ImpactLevel, // Actual impact level e.Panel.ToString() // Sensor panel ); } } }
/// <summary> /// Called when [sensor impact]. /// </summary> /// <param name="sensorImpactData">The sensor impact data.</param> private void OnSensorHit(ReceiverEvents.SensorHit e) { if (StopWatchService.IsRunning) { using (ReaderWriterLockMgr lockMgr = new ReaderWriterLockMgr(GameDataLog.Impacts.Lock)) { lockMgr.EnterWriteLock(); GameDataLog.Impacts.AddImpactsRow( DateTime.Now, // Current datetime stamp e.SensorId, // Sensor ID ScoreKeeperService.GameNumber, // Game number ScoreKeeperService.RoundNumber, // Round number StopWatchService.DisplayTime, // Elapsed time ScoreKeeperService[e.SensorId].DisplayName, // Competitor Name e.OperationCode, // Data Source Type ScoreKeeperService[e.SensorId].RequiredImpactLevel, // Required impact level e.ImpactLevel, // Actual impact level e.Panel.ToString() // Sensor panel ); } this.DataWriterTimer.Start(); } }