lvjincheng пре 4 година
родитељ
комит
f19ffa56a8

+ 2 - 1
Assets/BowArrow/Resources/Prefabs/BluetoothHolder.prefab

@@ -3154,6 +3154,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   textUI: {fileID: 4155488363468626622}
   status: 1
+  hasData: 0
 --- !u!114 &4155488362725840150
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -3179,7 +3180,6 @@ MonoBehaviour:
   DrawImage: {fileID: 4155488362355793910}
   gyrCalibrateCompleteCount: 0
   gyrCalibrateTotalCount: 300
-  applyNewRotationRightNow: 0
 --- !u!1 &4155488362869047205
 GameObject:
   m_ObjectHideFlags: 0
@@ -4263,6 +4263,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   textUI: {fileID: 4155488362686753205}
   status: 1
+  hasData: 0
 --- !u!114 &4155488363507363499
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 4 - 4
Assets/BowArrow/Scenes/Home.unity

@@ -311,7 +311,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 7.6153846, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &219397737
@@ -1062,7 +1062,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 2424329064154535202, guid: a48397ba16177824490358094702652f, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 0
+      value: 55.384617
       objectReference: {fileID: 0}
     - target: {fileID: 2424329064154535202, guid: a48397ba16177824490358094702652f, type: 3}
       propertyPath: m_AnchoredPosition.y
@@ -1938,7 +1938,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_Padding:
     m_Left: 0
-    m_Right: 20
+    m_Right: 30
     m_Top: 10
     m_Bottom: 0
   m_ChildAlignment: 4
@@ -2093,7 +2093,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 92.84616, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1698308730

+ 428 - 0
Assets/BowArrow/Scenes/Test.unity

@@ -202,6 +202,139 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 40428145}
   m_CullTransparentMesh: 1
+--- !u!1 &49616425
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 49616426}
+  - component: {fileID: 49616429}
+  - component: {fileID: 49616428}
+  - component: {fileID: 49616427}
+  m_Layer: 5
+  m_Name: Button
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &49616426
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 49616425}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1766504780}
+  m_Father: {fileID: 1342914662}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 197.5, y: -50.6}
+  m_SizeDelta: {x: 160, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &49616427
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 49616425}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 49616428}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 546259021}
+        m_TargetAssemblyTypeName: BluetoothAim, Assembly-CSharp
+        m_MethodName: WriteData
+        m_Mode: 5
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: B
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &49616428
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 49616425}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &49616429
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 49616425}
+  m_CullTransparentMesh: 1
 --- !u!1 &50452304
 GameObject:
   m_ObjectHideFlags: 0
@@ -268,6 +401,85 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &61298929
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 61298930}
+  - component: {fileID: 61298932}
+  - component: {fileID: 61298931}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &61298930
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 61298929}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 681555720}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &61298931
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 61298929}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 3
+--- !u!222 &61298932
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 61298929}
+  m_CullTransparentMesh: 1
 --- !u!1 &546259019
 GameObject:
   m_ObjectHideFlags: 0
@@ -320,6 +532,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   textUI: {fileID: 546259022}
   status: 1
+  hasData: 0
 --- !u!114 &546259022
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -495,6 +708,139 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 565136141}
   m_CullTransparentMesh: 1
+--- !u!1 &681555719
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 681555720}
+  - component: {fileID: 681555723}
+  - component: {fileID: 681555722}
+  - component: {fileID: 681555721}
+  m_Layer: 5
+  m_Name: Button (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &681555720
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 681555719}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 61298930}
+  m_Father: {fileID: 1342914662}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 197.50002, y: -96.7}
+  m_SizeDelta: {x: 160, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &681555721
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 681555719}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 681555722}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 546259021}
+        m_TargetAssemblyTypeName: BluetoothAim, Assembly-CSharp
+        m_MethodName: WriteData
+        m_Mode: 5
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 3
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &681555722
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 681555719}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &681555723
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 681555719}
+  m_CullTransparentMesh: 1
 --- !u!1 &766991334
 GameObject:
   m_ObjectHideFlags: 0
@@ -885,6 +1231,8 @@ RectTransform:
   - {fileID: 546259020}
   - {fileID: 565136142}
   - {fileID: 766991335}
+  - {fileID: 49616426}
+  - {fileID: 681555720}
   m_Father: {fileID: 0}
   m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -986,6 +1334,85 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0}
+--- !u!1 &1766504779
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1766504780}
+  - component: {fileID: 1766504782}
+  - component: {fileID: 1766504781}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1766504780
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1766504779}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 49616426}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1766504781
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1766504779}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: B
+--- !u!222 &1766504782
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1766504779}
+  m_CullTransparentMesh: 1
 --- !u!1 &2004082758
 GameObject:
   m_ObjectHideFlags: 0
@@ -1080,3 +1507,4 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   textUI: {fileID: 2004082760}
   status: 1
+  hasData: 0

+ 18 - 13
Assets/BowArrow/Scripts/Bluetooth/AimHandler.cs

@@ -198,22 +198,27 @@ public class AimHandler : MonoBehaviour
     public void OnDataReceived(byte[] bytes)
     {
         // Debug.Log("瞄准模块数据长度" + bytes.Length);
-        if (bytes.Length != 26)
+        if (bytes.Length != 27)
         {
+            if (bytes.Length == 1) 
+            {
+                DeviceBatteryView.ins.RenderBattery(1, bytes[0]);
+                return;
+            }
             if (bytes[3] == 125)
             {
                 DoIdentity();
             }
             return;
         }
-        if (bytes[4] == 0 && bytes[5] == 0 && bytes[6] == 0 && bytes[7] == 0 && bytes[8] == 0 && bytes[9] == 0)
+        if (bytes[7] == 0 && bytes[8] == 0 && bytes[9] == 0 && bytes[10] == 0 && bytes[11] == 0 && bytes[12] == 0)
             return;
-        if (bytes[16] == 0 && bytes[17] == 0 && bytes[18] == 0 && bytes[19] == 0 && bytes[20] == 0 && bytes[21] == 0)
+        if (bytes[19] == 0 && bytes[20] == 0 && bytes[21] == 0 && bytes[22] == 0 && bytes[23] == 0 && bytes[24] == 0)
             return;
         
-        float ax = -TwoByteToFloat(bytes[4], bytes[5]);
-        float ay = TwoByteToFloat(bytes[6], bytes[7]);
-        float az = -TwoByteToFloat(bytes[8], bytes[9]);
+        float ax = -TwoByteToFloat(bytes[7], bytes[8]);
+        float ay = TwoByteToFloat(bytes[9], bytes[10]);
+        float az = -TwoByteToFloat(bytes[11], bytes[12]);
         ax = ax / 32768 * 16;
         ay = ay / 32768 * 16;
         az = az / 32768 * 16;
@@ -221,9 +226,9 @@ public class AimHandler : MonoBehaviour
         AccObj.transform.GetChild(0).localPosition = Acc;
 
 
-        float roll = TwoByteToFloat(bytes[10], bytes[11]);
-        float pitch = TwoByteToFloat(bytes[12], bytes[13]);
-        float yaw = TwoByteToFloat(bytes[14], bytes[15]);
+        float roll = TwoByteToFloat(bytes[13], bytes[14]);
+        float pitch = TwoByteToFloat(bytes[15], bytes[16]);
+        float yaw = TwoByteToFloat(bytes[17], bytes[18]);
         roll = -roll / 32768 * 2000;
         pitch = pitch / 32768 * 2000;
         yaw = -yaw / 32768 * 2000;
@@ -242,9 +247,9 @@ public class AimHandler : MonoBehaviour
             GyrScaleText.text = "" + (_9Axis.GyrOld * 1000000).ToString();
         }
 
-        float x = TwoByteToFloat(bytes[16], bytes[17]);
-        float y = TwoByteToFloat(bytes[18], bytes[19]);
-        float z = -TwoByteToFloat(bytes[20], bytes[21]);
+        float x = TwoByteToFloat(bytes[19], bytes[20]);
+        float y = TwoByteToFloat(bytes[21], bytes[22]);
+        float z = -TwoByteToFloat(bytes[23], bytes[24]);
         var mag = new Vector3(x, y, z);
         Mag = mag / 32768 * 256;
     
@@ -279,7 +284,7 @@ public class AimHandler : MonoBehaviour
         }
         MagObj.transform.GetChild(0).localPosition = Mag;
 
-        var ms = (((long)bytes[22]) *60 + bytes[23])*1000 + (long)TwoByteToFloat(bytes[1], bytes[2]);
+        var ms = (((long)bytes[1]) *60 + bytes[2])*1000 + (long)TwoByteToFloat(bytes[3], bytes[4]);
         if(msOld == default)
         {
             msOld = ms;

+ 11 - 1
Assets/BowArrow/Scripts/Bluetooth/BluetoothAim.cs

@@ -15,6 +15,7 @@ public class BluetoothAim : MonoBehaviour
     bool canConnect = true;
     [SerializeField] Text textUI;
     public BluetoothStatusEnum status = BluetoothStatusEnum.Connect;
+    public bool hasData = false;
     public static bool scanLock = false; //防止同时扫描冲突
     public static BluetoothAim ins;
 
@@ -96,16 +97,18 @@ public class BluetoothAim : MonoBehaviour
                         }
                     }
                 }
-                Invoke("OpenReceiveData", 1);
+                CallDelay(1, OpenReceiveData);
             };
             bluetoothHelper.OnConnectionFailed += (BluetoothHelper helper) =>
             {
+                hasData = false;
                 canConnect = true;
                 Log("连接失败\n" + helper.getDeviceName());
                 SetStatus(BluetoothStatusEnum.ConnectFail);
             };
             bluetoothHelper.OnCharacteristicChanged += (helper, value, characteristic) =>
             {
+                hasData = true;
                 byte[] bytes = value;
                 // Log(String.Join(",", bytes));
                 BluetoothClient.UploadData(0, bytes);
@@ -150,6 +153,13 @@ public class BluetoothAim : MonoBehaviour
         Log("瞄准模块准备完成\n" + deviceName);
     }
 
+    void CallDelay(float delayTime, TweenCallback callback)
+    {
+        Sequence sequence = DOTween.Sequence();
+        sequence.PrependInterval(delayTime).AppendCallback(callback);
+        sequence.SetUpdate(true);
+    }
+
     public void WriteData(string data)
     {
         BluetoothHelperCharacteristic ch = new BluetoothHelperCharacteristic(characteristicWrite.getName());

+ 15 - 3
Assets/BowArrow/Scripts/Bluetooth/BluetoothShoot.cs

@@ -15,6 +15,7 @@ public class BluetoothShoot : MonoBehaviour
     bool canConnect = true;
     [SerializeField] Text textUI;
     public BluetoothStatusEnum status = BluetoothStatusEnum.Connect;
+    public bool hasData = false;
     public static bool scanLock = false; //防止同时扫描冲突
     public static BluetoothShoot ins;
 
@@ -96,16 +97,18 @@ public class BluetoothShoot : MonoBehaviour
                         }
                     }
                 }
-                Invoke("OpenReceiveData", 1);
+                CallDelay(1, OpenReceiveData);
             };
             bluetoothHelper.OnConnectionFailed += (BluetoothHelper helper) =>
             {
+                hasData = false;
                 canConnect = true;
                 Log("连接失败\n" + helper.getDeviceName());
                 SetStatus(BluetoothStatusEnum.ConnectFail);
             };
             bluetoothHelper.OnCharacteristicChanged += (helper, value, characteristic) =>
             {
+                hasData = true;
                 byte[] bytes = value;
                 // Log(String.Join(",", bytes));
                 BluetoothClient.UploadData(1, bytes);
@@ -147,14 +150,23 @@ public class BluetoothShoot : MonoBehaviour
     void OpenReceiveData()
     {
         WriteData("5");
-        Sequence sequence = DOTween.Sequence();
-        sequence.PrependInterval(1).AppendCallback(delegate() {
+        CallDelay(1, delegate() {
             if (ShootCheck.ins)
             {
                 ShootCheck.ins.OnBluetoothReady(this);
                 Log("射击模块准备完成\n" + deviceName);
             }
         });
+        CallDelay(2.5f, delegate() {
+            WriteData("B");    
+        });
+    }
+
+    void CallDelay(float delayTime, TweenCallback callback)
+    {
+        Sequence sequence = DOTween.Sequence();
+        sequence.PrependInterval(delayTime).AppendCallback(callback);
+        sequence.SetUpdate(true);
     }
 
     public void WriteData(string data)

+ 5 - 0
Assets/BowArrow/Scripts/Bluetooth/ShootCheck.cs

@@ -105,6 +105,11 @@ public class ShootCheck : MonoBehaviour
     }
 
     public void OnDataReceived(byte[] bytes) {
+        if (bytes.Length == 1) 
+        {
+            DeviceBatteryView.ins.RenderBattery(2, bytes[0]);
+            return;
+        }
 
         string str = "";
         

+ 7 - 3
Assets/BowArrow/Scripts/View/DeviceBatteryView.cs

@@ -6,7 +6,7 @@ using UnityEngine.UI;
 
 public class DeviceBatteryView : MonoBehaviour
 {
-    static DeviceBatteryView ins;
+    public static DeviceBatteryView ins;
 
     void Start()
     {
@@ -45,14 +45,18 @@ public class DeviceBatteryView : MonoBehaviour
     void RequestBatteryForBow()
     {
         try {
-            BluetoothAim.ins.WriteData("B");
+            if (BluetoothAim.ins.hasData) {
+                BluetoothAim.ins.WriteData("B");
+            }
         } catch (Exception) {}
     }
 
     void RequestBatteryForArrow()
     {
         try {
-            BluetoothShoot.ins.WriteData("B");
+            if (BluetoothShoot.ins.hasData) {
+                BluetoothShoot.ins.WriteData("B");
+            }
         } catch (Exception) {}
     }
 

+ 0 - 3
ProjectSettings/EditorBuildSettings.asset

@@ -5,9 +5,6 @@ EditorBuildSettings:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Scenes:
-  - enabled: 1
-    path: Assets/BowArrow/Scenes/Test.unity
-    guid: 542bf2201b5d1214681a6a0c9c29a03e
   - enabled: 1
     path: Assets/BowArrow/Scenes/Login.unity
     guid: 200a793b1fc5aac438c87e1b342a939a