/// <summary> /// Initializes a new instance of the <see cref="Controller"/> class. /// </summary> /// <param name="win">The main window controlled by this instance</param> public Controller(MainWindow win) { SettingsModel = new SettingsModel(); SettingsModel.PropertyChanged += _SettingsModel_PropertyChanged; Client = new DataClient("127.0.0.1", 10000); PostureActivity poseActivity = new PostureActivity(Client); ExerciseActivity execActivity = new ExerciseActivity(this); execActivity.OnExerciseStart += (paths) => { win.Show(); win.SetContent(win.ExerciseContent); win.ExerciseContent.ShowGifs(paths); ActivityScheduler.Pause(); }; poseActivity.OnImageUpdate += PoseActivity_OnImageUpdate; ActivityScheduler = new ActivityScheduler(new Dictionary <IActivity, int>() { { poseActivity, 15 }, { execActivity, 30 } }); ActivityScheduler.Start(); Window = win; Window.OnMaximize += Window_OnMaximize; Window.OnMinimize += Window_OnMinimize; Window.Closing += _Window_Closing; }