Beispiel #1
0
        /// <summary>
        /// Intilizes and defines functions for the read to happen and be reported on sliders.
        /// </summary>
        public void Activate()
        {
            ValuesRead = Enumerable.Repeat(new EmotivState(EmotivCommandType.NULL, 0, 0), Interval).ToArray();

            inputGenerator = InputContainer.Instence;

            IntervalOffset = 0;

            inputGenerator.OnYes = () => forcedYes = true;
            inputGenerator.OnNo  = () => forcedYes = false;

            reader = new BasicEmotivReader(deviceHolder.Device);

            //reader.OnStop = () => Debug.Log("Stopped");

            reader.OnRead += (e) =>
            {
                if (e.Command == EmotivCommandType.NULL)
                {
                    return;
                }
                //Debug.Log(e.ToString());

                if (forcedYes)
                {
                    ValuesRead[IntervalOffset = (IntervalOffset + 1 % Interval) % Interval] = new EmotivState(TargetCommand, PassThreshhold, 0);
                }
                else
                {
                    ValuesRead[IntervalOffset = (IntervalOffset + 1 % Interval) % Interval] = e;
                }
            };

            reader.OnStop += (s) => { Debug.Log("I stoped: " + s); };

            // deviceHolder.Device.OnDisconnectAttempted += (suc,s) => Debug.Log("OnDisconnectAttempted: "+ s);
            deviceHolder.Device.OnDisconnectAttempted += (suc, s) => Debug.Log("OnDisconnectAttempted: " + s);
            reader.ExceptionHandler += (e) => { Debug.Log("Exp"); throw e; };

            reader.StartReading();
            StartCoroutine(SliderUpdate());
        }
Beispiel #2
0
 public override void StartReading()
 {
     Content.StartReading();
 }