From ad264196546aa81cdaaf1984f4f4a2f000e20ddd Mon Sep 17 00:00:00 2001 From: lishuo Date: Wed, 15 Sep 2021 14:17:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=BF=9E=E6=8E=A5=E5=BE=AE?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Android/unityandroidbluetoothlelib.jar | Bin 36977 -> 37052 bytes Assets/Plugins/BluetoothDeviceScript.cs | 2 +- .../UI/Prefab/Panel/Mobile/DevicePanel.prefab | 55 +++++++++++++----- .../Devices/Ble/mobile/BleMobileInterface.cs | 4 ++ Assets/Scripts/Scenes/MainController.cs | 6 +- .../UI/Prefab/Device/ConnectDeviceModal.cs | 2 +- Assets/Scripts/UI/Prefab/Device/DeviceView.cs | 7 ++- 7 files changed, 55 insertions(+), 21 deletions(-) diff --git a/Assets/Plugins/Android/unityandroidbluetoothlelib.jar b/Assets/Plugins/Android/unityandroidbluetoothlelib.jar index ec45ca2ab39730b5c7bf8f885eb06d6f4908e4d2..f8e9e386f9bded33a0ab3cfec9623ff53bd91c7d 100644 GIT binary patch delta 22975 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 diff --git a/Assets/Plugins/BluetoothDeviceScript.cs b/Assets/Plugins/BluetoothDeviceScript.cs index 362dcfcc..2bf6dec4 100644 --- a/Assets/Plugins/BluetoothDeviceScript.cs +++ b/Assets/Plugins/BluetoothDeviceScript.cs @@ -96,7 +96,7 @@ public class BluetoothDeviceScript : MonoBehaviour } } for (int i = 0; i < parts.Length; ++i) - BluetoothLEHardwareInterface.Log(string.Format("Part: {0} - {1}", i, parts[i])); + Debug.Log(string.Format("Part: {0} - {1}", i, parts[i])); if (message.Length >= deviceInitializedString.Length && message.Substring (0, deviceInitializedString.Length) == deviceInitializedString) { diff --git a/Assets/Resources/UI/Prefab/Panel/Mobile/DevicePanel.prefab b/Assets/Resources/UI/Prefab/Panel/Mobile/DevicePanel.prefab index 84e66f3d..84f25dd8 100644 --- a/Assets/Resources/UI/Prefab/Panel/Mobile/DevicePanel.prefab +++ b/Assets/Resources/UI/Prefab/Panel/Mobile/DevicePanel.prefab @@ -1317,8 +1317,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 20, y: -201} - m_SizeDelta: {x: 160, y: 30} + m_AnchoredPosition: {x: 51, y: -204.5} + m_SizeDelta: {x: 132, y: 23} m_Pivot: {x: 0, y: 1} --- !u!222 &5054656622091827353 CanvasRenderer: @@ -2127,7 +2127,7 @@ PrefabInstance: - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_SizeDelta.x - value: 154.09998 + value: 126.099945 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} @@ -2137,12 +2137,12 @@ PrefabInstance: - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.x - value: 77.99998 + value: 109 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.y - value: -76.86 + value: -74.430016 objectReference: {fileID: 0} - target: {fileID: 9182849809646276971, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} @@ -2565,7 +2565,7 @@ PrefabInstance: - target: {fileID: 7414013380646078914, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_SizeDelta.y - value: 14 + value: 14.425751 objectReference: {fileID: 0} - target: {fileID: 7414013380646078914, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} @@ -2640,22 +2640,22 @@ PrefabInstance: - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_SizeDelta.x - value: 162.14935 + value: 134.14935 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_SizeDelta.y - value: 22.477173 + value: 23 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.x - value: 78 + value: 109 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.y - value: -77.523 + value: -74.5 objectReference: {fileID: 0} - target: {fileID: 9182849809646276971, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} @@ -3568,6 +3568,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, + type: 3} + propertyPath: m_SizeDelta.x + value: 132 + objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_SizeDelta.y @@ -3576,12 +3581,12 @@ PrefabInstance: - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.x - value: 78 + value: 109 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.y - value: -81.89999 + value: -76.95 objectReference: {fileID: 0} - target: {fileID: 9182849809646276971, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} @@ -4007,6 +4012,21 @@ PrefabInstance: propertyPath: m_Color.r value: 1 objectReference: {fileID: 0} + - target: {fileID: 4527791653199611421, guid: 95d5b69c6ebb5f34bb864b2c0756d442, + type: 3} + propertyPath: m_Color.b + value: 0.5254902 + objectReference: {fileID: 0} + - target: {fileID: 4527791653199611421, guid: 95d5b69c6ebb5f34bb864b2c0756d442, + type: 3} + propertyPath: m_Color.g + value: 0.1882353 + objectReference: {fileID: 0} + - target: {fileID: 4527791653199611421, guid: 95d5b69c6ebb5f34bb864b2c0756d442, + type: 3} + propertyPath: m_Color.r + value: 0.9764706 + objectReference: {fileID: 0} - target: {fileID: 4634260803276928508, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_Pivot.x @@ -4227,20 +4247,25 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, + type: 3} + propertyPath: m_SizeDelta.x + value: 132 + objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_SizeDelta.y - value: 22.707062 + value: 23 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.x - value: 78.00002 + value: 109 objectReference: {fileID: 0} - target: {fileID: 9180225337925263917, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} propertyPath: m_AnchoredPosition.y - value: -77.29294 + value: -74.646 objectReference: {fileID: 0} - target: {fileID: 9182849809646276971, guid: 95d5b69c6ebb5f34bb864b2c0756d442, type: 3} diff --git a/Assets/Scripts/Devices/Ble/mobile/BleMobileInterface.cs b/Assets/Scripts/Devices/Ble/mobile/BleMobileInterface.cs index 69bc5335..ee75bf51 100644 --- a/Assets/Scripts/Devices/Ble/mobile/BleMobileInterface.cs +++ b/Assets/Scripts/Devices/Ble/mobile/BleMobileInterface.cs @@ -211,6 +211,7 @@ namespace Assets.Scripts.Ble { this.callbacks.Add(info, callback); } + Debug.Log("try connect device" + info.Name + this.callbacks.Count.ToString()); if (this.callbacks.Count == 1) { BleResponse s = new BleResponse(); @@ -221,6 +222,7 @@ namespace Assets.Scripts.Ble { callback?.Invoke(self, info, s); this.callbacks.Remove(info); + Debug.Log("连接成功!"); if (this.callbacks.Any()) { this.ConnectPeripheral(this.callbacks.First().Key, this.callbacks.First().Value); @@ -233,6 +235,7 @@ namespace Assets.Scripts.Ble CharacteristicsDiscovered(address, service, characteristic); }, (address) => { + Debug.Log("disconnect device:" + address); PeripheralDisconnected(address, info); }); } @@ -311,6 +314,7 @@ namespace Assets.Scripts.Ble { BluetoothLEHardwareInterface.DisconnectPeripheral(peripheral.Address, (address) => { + Debug.Log("断开回调"+ address); peripheralDisconnectedEvent(this, peripheral, null, true); callback?.Invoke(); }); diff --git a/Assets/Scripts/Scenes/MainController.cs b/Assets/Scripts/Scenes/MainController.cs index d8e867b2..10a37608 100644 --- a/Assets/Scripts/Scenes/MainController.cs +++ b/Assets/Scripts/Scenes/MainController.cs @@ -37,7 +37,7 @@ public class MainController : BaseScene //rect1.offsetMax = Vector2.zero; //transform.Find("ModalPanel").GetComponent().sizeDelta = new Vector2(844, 390); #endif - App.MainDeviceAdapter.StartScan(); + //App.MainDeviceAdapter.StartScan(); } @@ -110,8 +110,8 @@ public class MainController : BaseScene scanTicks++; if (scanTicks == 10) { - App.MainDeviceAdapter.StopScan(); - Debug.Log("StopScan"); + //App.MainDeviceAdapter.StopScan(); + //Debug.Log("StopScan"); } } } diff --git a/Assets/Scripts/UI/Prefab/Device/ConnectDeviceModal.cs b/Assets/Scripts/UI/Prefab/Device/ConnectDeviceModal.cs index aa66e8c0..fa63ea0a 100644 --- a/Assets/Scripts/UI/Prefab/Device/ConnectDeviceModal.cs +++ b/Assets/Scripts/UI/Prefab/Device/ConnectDeviceModal.cs @@ -90,7 +90,7 @@ public class ConnectDeviceModal : PFUIPanel { if (item.Value.DeviceInfo.Sensor == SensorType.SpeedCadence || item.Value.DeviceInfo.Sensor == SensorType.Cadence) { - //Debug.Log("断开设备" + item.Value.DeviceInfo.Name); + Debug.Log("断开设备" + item.Value.DeviceInfo.Name); item.Value.DeviceInfo.Disconnect(); DeviceCache.Remove(item.Value.DeviceInfo); } diff --git a/Assets/Scripts/UI/Prefab/Device/DeviceView.cs b/Assets/Scripts/UI/Prefab/Device/DeviceView.cs index eeb96732..4295505a 100644 --- a/Assets/Scripts/UI/Prefab/Device/DeviceView.cs +++ b/Assets/Scripts/UI/Prefab/Device/DeviceView.cs @@ -244,7 +244,7 @@ public class DeviceView : MonoBehaviour mSearchButton.SetActive(false); mPairButton.SetActive(true); #if UNITY_IOS || UNITY_ANDROID - searchState.gameObject.SetActive(false); + //searchState.gameObject.SetActive(false); #endif logo.sprite = sprite1; @@ -275,8 +275,13 @@ public class DeviceView : MonoBehaviour //noDevice.enabled = true; noDevice.text = connectedDevice.Name +" "+ connectedDevice.DeviceNumber.ToString(); } +#if (UNITY_IOS || UNITY_ANDROID) + mPairButton.SetActive(true); + searchState.gameObject.SetActive(true); +#endif searchState.text = "Connecting..."; + } else if (connectedDevice.State == DeviceState.Connected) {