//Joystick listening loop run on other threads private async Task JoystickLoop() { while (!_ct.IsCancellationRequested) { var response = await _server.HandleGetRequest(HttpRequestsTypes.HttpGetJoystickData); JoystickModel responseJson = null; try { responseJson = await Task.Run(() => JsonConvert.DeserializeObject <JoystickModel>(response)); } catch (JsonSerializationException e) { Debug.WriteLine(e); } if (responseJson == null) { continue; } IndicateChange(responseJson); await Task.Delay(40); } }
/* * Constructs a new JoystickViewModel */ public JoystickViewModel() { model = new JoystickModel(); model.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e) { NotifyPropertyChanged("VM_" + e.PropertyName); }; }
/* * Constructor of VMJoystick */ public VMJoystick(JoystickModel joystickModel) { _joystickModel = joystickModel; _joystickModel.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e) { INotifyPropertyChanged("VM_" + e.PropertyName); }; }
/// <summary> ///the constructor of JoystickViewModel. /// </summary> public JoystickViewModel(JoystickModel jm) { this.jmodel = jm; this.dmodel = DataModel.Instance; // add fuction to models this.jmodel.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e) { NotifyPropertyChanged("VM_" + e.PropertyName); }; this.dmodel.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e) { NotifyPropertyChanged("VM_" + e.PropertyName); }; }
private void Application_Startup(object sender, StartupEventArgs e) { _algorithmDll = new DllAlgorithms(); _graphModel = new GraphsModel(); _vmGraphs = new VMGraphs(_graphModel); _filesUpload = new FilesUpload(); _popOutModel = new PopOutModel(); _simultorConnectorModel = new SimulatorConnectorModel(); _dashBoardModel = new DashBoardModel(); _joystickModel = new JoystickModel(); _joystickDashBoardModel = new JoystickDashBoardModel(); _sliderModel = new SliderModel(_simultorConnectorModel); _algoritemDetectModel = new AlgoritemDetectModel(); // Create main application window MainWindow mainWindow = new MainWindow(); mainWindow.Show(); }
//Method updating BoxView colors based on joystick model private void IndicateChange(JoystickModel joystick) { switch (joystick.Direction) { case SenseTickDirections.Up: switch (joystick.Action) { case SenseTickActions.Pressed: UpColor = Color.Gray; break; case SenseTickActions.Held: UpColor = Color.DimGray; break; case SenseTickActions.Released: UpColor = Color.LightGray; break; } break; case SenseTickDirections.Left: switch (joystick.Action) { case SenseTickActions.Pressed: LeftColor = Color.Gray; break; case SenseTickActions.Held: LeftColor = Color.DimGray; break; case SenseTickActions.Released: LeftColor = Color.LightGray; break; } break; case SenseTickDirections.Middle: switch (joystick.Action) { case SenseTickActions.Pressed: MiddleColor = Color.Gray; break; case SenseTickActions.Held: MiddleColor = Color.DimGray; break; case SenseTickActions.Released: MiddleColor = Color.LightGray; break; } break; case SenseTickDirections.Right: switch (joystick.Action) { case SenseTickActions.Pressed: RightColor = Color.Gray; break; case SenseTickActions.Held: RightColor = Color.DimGray; break; case SenseTickActions.Released: RightColor = Color.LightGray; break; } break; case SenseTickDirections.Down: switch (joystick.Action) { case SenseTickActions.Pressed: DownColor = Color.Gray; break; case SenseTickActions.Held: DownColor = Color.DimGray; break; case SenseTickActions.Released: DownColor = Color.LightGray; break; } break; } }
public JoystickViewModel(JoystickModel model) { this.model = model; }