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); }); }