Exemplo n.º 1
0
        public MainWindow()
        {
            GamePadManager manager = new GamePadManager();

            manager.Stream += (data) => {
                TelloManager.Instance.Controller = new ControllData(data);
                if (data.A && !takeoff)
                {
                    takeoff = true;
                    TelloManager.Instance.SetMaxHeight(5);
                    TelloManager.Instance.QueryMaxHeight();
                    TelloManager.Instance.TakeOff();
                }
                else if (!data.A && takeoff)
                {
                    takeoff = false;
                }
                if (data.B && !land)
                {
                    land = true;
                    TelloManager.Instance.Land();
                }
                else if (!data.B && land)
                {
                    land = false;
                }
            };
            manager.StartStream();
            TelloManager.Instance.OnConnection += (state) => {
                if (state == ConnectionState.Connected)
                {
                    TelloManager.Instance.SetMaxHeight(10);
                    //TelloManager.Instance.TakeOff();
                }
                Dispatcher.BeginInvoke(new Action(() => {
                    if (state == ConnectionState.Disconnected)
                    {
                        (FindName("Connect") as Button).IsEnabled = true;
                    }
                }));
            };
            InitializeComponent();
        }
Exemplo n.º 2
0
 public ControllData(GamePadManager manager) : this(manager.LeftX, manager.LeftY, manager.RightY, manager.RightX, manager.IsFastMode)
 {
 }