Exemplo n.º 1
0
        private async void btnConnect_Click(object sender, RoutedEventArgs e)
        {
            var cursor = Window.Current.CoreWindow.PointerCursor;

            Window.Current.CoreWindow.PointerCursor = new CoreCursor(CoreCursorType.Wait, cursor.Id);
            try
            {
                if (lstDeviceIdList.SelectedIndex < 0)
                {
                    return;
                }

                _OrpheShoe = new OrpheShoe();
                _OrpheShoe.ValueChanged += OrpheShoe_ValueChanged;
                if (!await _OrpheShoe.Connect((string)lstDeviceIdList.SelectedItem))
                {
                    _OrpheShoe = null;
                    await new MessageDialog("Orpheとの接続確立に失敗しました。\nOrpheをペアリングモードに変更して再接続してください。").ShowAsync();
                    return;
                }

                _DeviceWatcher.Stop();

                lstDeviceIdList.IsEnabled = false;
                btnConnect.IsEnabled      = false;
                btnScene.IsEnabled        = true;
                btnLightTrigger.IsEnabled = true;
                btnLightOn.IsEnabled      = true;
                btnLightOff.IsEnabled     = true;
            }
            finally
            {
                Window.Current.CoreWindow.PointerCursor = cursor;
            }
        }
        public async void btnConnect_Click(string deviceID)
        {
            if (isConnected)
            {
                Debug.Log("すでに接続済み");
                Task.Run(async() =>
                {
                    UnityEngine.WSA.Application.InvokeOnAppThread(() =>
                    {
                        OnConnectFailed(deviceID);
                    }, true);
                });
                return;
            }


            _OrpheShoe = new OrpheShoe();
            _OrpheShoe.ValueChanged += OrpheShoe_ValueChanged;

            if (!await _OrpheShoe.Connect(deviceID))
            {
                _OrpheShoe = null;


                Debug.Log("Orpheとの接続確立に失敗しました。\nOrpheをペアリングモードに変更して再接続してください。");
                Task.Run(async() =>
                {
                    UnityEngine.WSA.Application.InvokeOnAppThread(() =>
                    {
                        OnConnectFailed(deviceID);
                    }, true);
                });
                /// await new MessageDialog("Orpheとの接続確立に失敗しました。\nOrpheをペアリングモードに変更して再接続してください。").ShowAsync();
                return;
            }

            _DeviceWatcher.Stop();

            Debug.Log("Connected!");
            isConnected = true;
            Task.Run(async() =>
            {
                UnityEngine.WSA.Application.InvokeOnAppThread(() =>
                {
                    OnConnected(deviceID);
                }, true);
            });
        }