Exemplo n.º 1
0
 public static IObservable <Unit> ButtonBReleaseTriggerObservable(this IAxisOrangeSensor sensor)
 {
     return(sensor
            .ReactiveButton()
            .Pairwise()
            .Where(x => x.Previous.buttonB == ButtonState.Push && x.Current.buttonB == ButtonState.Release)
            .Select(_ => Unit.Default));
 }
Exemplo n.º 2
0
 void SubscriteEvents(IAxisOrangeSensor sensor, CompositeDisposable disposables)
 {
     sensor
     .ReactiveSensorData()
     .ObserveOnMainThread()
     .Subscribe(x => {
         SensorDataUpdateEvent.Invoke(sensor.SensorId, new AxisOrangeUnityData(x));
     })
     .AddTo(disposables);
     sensor
     .ReactiveButton()
     .ObserveOnMainThread()
     .Subscribe(x => {
         SensorButtonUpdateEvent.Invoke(sensor.SensorId, x);
     })
     .AddTo(disposables);
 }
Exemplo n.º 3
0
 void Awake()
 {
     sensor = new AxisOrangeSensor(serialPortNo);
 }
Exemplo n.º 4
0
 public static IReadOnlyReactiveProperty <AxisOrangeData> ReactiveSensorData(this IAxisOrangeSensor sensor)
 {
     return(Observable
            .FromEvent <AxisOrangeData>(h => sensor.OnSensorDataUpdate += h, h => sensor.OnSensorDataUpdate -= h)
            .ToReadOnlyReactiveProperty());
 }
Exemplo n.º 5
0
 public static IReadOnlyReactiveProperty <AxisOrangeUnityData> ReactiveUnityData(this IAxisOrangeSensor sensor)
 {
     return(sensor
            .ReactiveSensorData()
            .Select(x => new AxisOrangeUnityData(x))
            .ToReadOnlyReactiveProperty());
 }