private bool UpdateBlinkCount(SynchroGazerStatus source) { if (_eyeOpened == GetTargetEyeOpened(source)) { return(false); } _eyeOpened = GetTargetEyeOpened(source); _blinks.Enqueue(new BlinkToggleData( source.DisplayX, source.DisplayY, source.TimeStamp, _eyeOpened )); StateMachineUtils.RefreshBlinkToggleQueue( _blinks, source.TimeStamp, GetBlinkDuration(source) ); return(true); }
/// <summary> /// /// </summary> /// <param name="source"></param> /// <returns>Queueに新規にデータが投げ込まれたらtrue</returns> private bool UpdateBlinkCount(SynchroGazerStatus source) { bool result = false; if (_leftEyeOpened != source.LeftEyeOpened) { _leftEyeOpened = source.LeftEyeOpened; _leftBlinks.Enqueue(new BlinkToggleData( source.DisplayX, source.DisplayY, source.TimeStamp, source.LeftEyeOpened )); result = true; } if (_rightEyeOpened != source.RightEyeOpened) { _rightEyeOpened = source.RightEyeOpened; _rightBlinks.Enqueue(new BlinkToggleData( source.DisplayX, source.DisplayY, source.TimeStamp, source.RightEyeOpened )); result = true; } if (result) { StateMachineUtils.RefreshBlinkToggleQueue(_leftBlinks, source.TimeStamp, BlinkDuration); StateMachineUtils.RefreshBlinkToggleQueue(_rightBlinks, source.TimeStamp, BlinkDuration); } return(result); }