using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using Misc; using System.Windows.Threading; using FLY.Simulation.Flyad7; namespace FLYAD7.Simulation.Battery.RayLaser { public class FlyADClientUI : INotifyPropertyChanged { public int Position { get; set; } public int Speed { get; set; } public int Position2 { get; set; } public int Speed2 { get; set; } public int AD { get; set; } public UInt16 IStatus { get; set; } public UInt16 OStatus { get; set; } = 0xf; public double TimeSpan1ms { get; set; } public int Surplus { get; set; } = 8000; private DispatcherTimer timer = new DispatcherTimer(); private FLY.Simulation.Flyad7.FLYAD7 flyad; public FlyADClientUI(FLY.Simulation.Flyad7.FLYAD7 flyad) { Init(flyad); } void Init(FLY.Simulation.Flyad7.FLYAD7 flyad) { this.flyad = flyad; timer.Interval = TimeSpan.FromSeconds(0.1); timer.Tick += new EventHandler(timer_Tick); timer.Start(); } void timer_Tick(object sender, EventArgs e) { Position = flyad.Position; Position2 = flyad.Position2; AD = flyad.AD; Speed = flyad.Speed; Speed2 = flyad.Speed2; TimeSpan1ms = flyad.TimeSpan1ms; IStatus = flyad.IStatus; OStatus = flyad.OStatus; Surplus = flyad.Surplus; } public event PropertyChangedEventHandler PropertyChanged; } }