using MainShell.Hardware; using MainShell.Models; using Stylet; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MainShell.ToolBox.ViewModel { public class MapCamLightViewModel : PropertyChangedBase { private MapCamLightConfig _mapCamLightConfig = new MapCamLightConfig(); public MapCamLightConfig MapCamLightConfig { get { return _mapCamLightConfig; } set { SetAndNotify(ref _mapCamLightConfig, value); } } private readonly HardwareManager _hardwareManager; public MapCamLightViewModel(HardwareManager hardwareManager) { this._hardwareManager = hardwareManager; _mapCamLightConfig.PropertyChanged -= MapCamLightConfig_PropertyChanged; _mapCamLightConfig.PropertyChanged += MapCamLightConfig_PropertyChanged; } private void MapCamLightConfig_PropertyChanged(object sender, PropertyChangedEventArgs e) { if(e.PropertyName==nameof(MapCamLightConfig.BlueLight)) { _hardwareManager.Map_BlueLight.SetIntensity(MapCamLightConfig.BlueLight); } else if(e.PropertyName==nameof(MapCamLightConfig.RedLight)) { _hardwareManager.Map_RedLight.SetIntensity(MapCamLightConfig.RedLight); } } } }