소스 검색

1.修改流程和引导功能等问题

slambb 1 년 전
부모
커밋
f2b2f2ee35
36개의 변경된 파일1651개의 추가작업 그리고 421개의 파일을 삭제
  1. 0 0
      Assets/BowArrow/Fonts/HarmonyOS_Sans_SC_Regular SDF.asset
  2. 131 34
      Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.cs
  3. 494 190
      Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.prefab
  4. 4 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider.cs
  5. 7 7
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider.prefab
  6. 5 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.cs
  7. 38 6
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.prefab
  8. 8 8
      Assets/BowArrow/Modules/InfraredGuider/InfraredResolution.prefab
  9. BIN
      Assets/BowArrow/Resources/Audios/be_loaded.mp3
  10. 211 67
      Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceViewInfrared.prefab
  11. 5 0
      Assets/BowArrow/Resources/Textures/GameIcon/Prefabs/Views/Home/HomeView.prefab
  12. 33 21
      Assets/BowArrow/Scripts/Bluetooth/AimHandler.cs
  13. 4 1
      Assets/BowArrow/Scripts/Bluetooth/BluetoothAim.cs
  14. 28 7
      Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/cn.json
  15. 29 8
      Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/en.json
  16. 25 2
      Assets/BowArrow/Scripts/Expand/AutoResetView.cs
  17. 6 6
      Assets/BowArrow/Scripts/Game/CrossHair.cs
  18. 11 6
      Assets/BowArrow/Scripts/GameMode/TimeLimitGameMode.cs
  19. 19 19
      Assets/BowArrow/Scripts/Manager/TextureMgr.cs
  20. 17 6
      Assets/BowArrow/Scripts/View/Home/DeviceViewInfrared.cs
  21. 9 4
      Assets/BowArrow/Scripts/View/Home/DeviceView_ItemShow.cs
  22. 3 2
      Assets/BowArrow/Scripts/View/Home/HomeView_ChallengeOption.cs
  23. 1 1
      Assets/FruitMaster/Scripts/GamingManager.cs
  24. 9 3
      Assets/Game_Hyperspace/Script/GeneratingTarget.cs
  25. BIN
      Assets/Plugins/Android/libuvccamera.aar
  26. 3 0
      Assets/SmartBow/Resources/Common/BulletManager.prefab
  27. 1 0
      Assets/SmartBow/Resources/Common/BulletManager_Fruit.prefab
  28. 80 2
      Assets/SmartBow/Resources/Common/TipBulletNumber.prefab
  29. 260 6
      Assets/SmartBow/Resources/SmartBow/Prefabs/Views/GameResultView.prefab
  30. 63 11
      Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/InfraredScreenPositioningView.prefab
  31. 8 3
      Assets/SmartBow/Scripts/Common/BulletManager.cs
  32. 8 0
      Assets/SmartBow/Scripts/Common/TipBulletNumber.cs
  33. 7 0
      Assets/SmartBow/Scripts/Views/GameResultView.cs
  34. 1 1
      Assets/SmartBow/SmartBowSDK/BleWinHelper.cs
  35. BIN
      Assets/SmartBow/Textures/Game/Gun.png
  36. 123 0
      Assets/SmartBow/Textures/Game/Gun.png.meta

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Assets/BowArrow/Fonts/HarmonyOS_Sans_SC_Regular SDF.asset


+ 131 - 34
Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.cs

@@ -3,6 +3,17 @@ using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
+public enum TipStep { 
+    None = 0,
+    //准心显示和隐藏
+    CrossHairTip = 1,
+    //校准偏移量
+    CalibrationOffset =2,
+    //完成
+    Finish = 3,
+
+
+}
 public class InfraredGuider : MonoBehaviour
 {
     public GameObject infraredLightGuider;
@@ -13,6 +24,11 @@ public class InfraredGuider : MonoBehaviour
     public GameObject Title1ARTEMISPro;
     public GameObject Title1;
     public GameObject Title2;
+    //准心
+    public GameObject TitleCrossHair; //HOUYIPro
+    public GameObject TitleCrossHair2;//ARTEMISPro 和 Gun
+
+    public TipStep mTipStep { get; private set; } = TipStep.None;
 
     public int collisionCount = 0;
     bool bRemove = false;
@@ -28,6 +44,8 @@ public class InfraredGuider : MonoBehaviour
     [Tooltip("异常问题时候文字提示步骤1")]
     public GameObject Step3;
     // Start is called before the first frame update
+
+
     void Start()
     {
         if (InfraredDemo._ins)
@@ -42,24 +60,17 @@ public class InfraredGuider : MonoBehaviour
 #if  UNITY_STANDALONE_WIN || UNITY_EDITOR
         resulutionButton.gameObject.SetActive(false);
 #endif
-        //枪暂时不显示
-        if (BluetoothAim.ins.isMainConnectToGun()) {
-            Title1ARTEMISPro.SetActive(false);
-            Title1.SetActive(false);
-        }
-        else
-        //切换ARTEMISPro
-        if (BluetoothAim.ins.isMainConnectToARTEMISPRO()) {
-            Title1ARTEMISPro.SetActive(true);
-            Title1.SetActive(false);
-        }
+        ////枪暂时不显示
+        //if (BluetoothAim.ins.isMainConnectToGun()) {
+        //    SetTipState(TipStep.None);
+        //}
+        //else
+        ////切换ARTEMISPro
+        //if (BluetoothAim.ins.isMainConnectToARTEMISPRO()) {
+        //    SetTipState(TipStep.CrossHairTip);
+        //}
     }
 
-    // Update is called once per frame
-    //void Update()
-    //{
-
-    //}
 
     public void enterLightView() {
 
@@ -72,27 +83,19 @@ public class InfraredGuider : MonoBehaviour
 #endif
     }
 
-    public void ExitGuider() {
-
-        //if (NewUserGuiderManager.ins)
-        //    NewUserGuiderManager.ins.OnEnd();
 
+    public void ExitGuider() {
         GameAssistUI.ins.onBtnBack();
-
-        //GameMgr.bNavBack = false;
-
-        //Destroy(gameObject);
     }
 
     /// <summary>
-    /// 校准后切换标题
+    /// 校准后到达最后一步射击退出
     /// </summary>
     public void SetTitleAfterCalibration() {
-        Title1ARTEMISPro.SetActive(false);
-        Title1.SetActive(false);
-        Title2.SetActive(true) ;
+        SetTipState(TipStep.Finish);
     }
 
+
     /// <summary>
     /// 进入相机感光度的页面
     /// </summary>
@@ -102,9 +105,91 @@ public class InfraredGuider : MonoBehaviour
         Instantiate(infraredLightGuider2);
 #endif
     }
+    /// <summary>
+    /// 硬件按键按下
+    /// </summary>
+    public void onClickDevice() {
+        //infraredGuider 待检测到用户操作了两次单击按键功能,进入下一步
+        if (mTipStep == TipStep.CrossHairTip)
+        {
+            Button crossHairBtn = GameAssistUI.ins.transform.Find("Button5").GetComponent<Button>();
+            crossHairBtn.onClick.Invoke();
+
+            if (GameMgr.ButtonCount == 1)
+            {
+                GameMgr.ButtonCount = 0;
+                //进入到偏移校准
+                SetTipState(TipStep.CalibrationOffset);
+            }
+            else
+            {
+                GameMgr.ButtonCount++;
+            }
+        }
+
+    }
+    /// <summary>
+    /// 长按或者栓剂触发
+    /// </summary>
+    public void onLongClickDevice()
+    {
+        if (Title1.activeSelf || Title1ARTEMISPro.activeSelf)
+        {
+            AutoResetView.onInfraredGuiderAutoResetView(); 
+        }
 
+    }
     /// <summary>
-    /// 异常问题处理时候的文字提示步骤
+    /// 根据enum操作ui
+    /// </summary>
+    /// <param name="tipStep"></param>
+    public void SetTipState(TipStep tipStep = TipStep.None) {
+
+        mTipStep = tipStep;
+        switch (tipStep)
+        {
+            case TipStep.None://全部隐藏
+                AllTipFalse();
+                break;
+            case TipStep.CrossHairTip:
+                AllTipFalse();
+                if (BluetoothAim.ins.isMainConnectToHOUYIPRO())
+                {
+                    TitleCrossHair.SetActive(true);
+                }
+                else if (BluetoothAim.ins.isMainConnectToARTEMISPRO() || BluetoothAim.ins.isMainConnectToGun())
+                {
+                    TitleCrossHair2.SetActive(true);
+                }
+                break;
+            case TipStep.CalibrationOffset:
+                AllTipFalse();
+                //按照连接的类型来区分
+                if (BluetoothAim.ins.isMainConnectToHOUYIPRO())
+                {
+                    Title1.SetActive(true);
+                }
+                else if (BluetoothAim.ins.isMainConnectToARTEMISPRO() || BluetoothAim.ins.isMainConnectToGun())
+                {
+                    Title1ARTEMISPro.SetActive(true);
+                }
+                break;
+            case TipStep.Finish:
+                AllTipFalse();
+                Title2.SetActive(true);
+                break;
+        }
+    }
+    void AllTipFalse() {
+        TitleCrossHair.SetActive(false);
+        TitleCrossHair2.SetActive(false);
+        Title1.SetActive(false);
+        Title2.SetActive(false);
+        Title1ARTEMISPro.SetActive(false);
+    }
+
+    /// <summary>
+    /// 异常问题处理时候的文字提示步骤页面
     /// </summary>
     public void OnStep3TextTip()
     {
@@ -117,10 +202,12 @@ public class InfraredGuider : MonoBehaviour
         Step1.SetActive(false);
         Step2.SetActive(false);
         Step3.SetActive(true);
+
+        SetTipState(TipStep.CrossHairTip);
     }
 
     /// <summary>
-    /// 射击页面测试显示
+    /// 检测四个角跳转到准心开关界面
     /// </summary>
     public void OnStep2ShootTest()
     {
@@ -135,7 +222,8 @@ public class InfraredGuider : MonoBehaviour
         Step2.SetActive(true);
         Step3.SetActive(false);
 
-    
+
+        SetTipState(TipStep.CrossHairTip);
     }
     IEnumerator delaySet() {
   
@@ -161,8 +249,17 @@ public class InfraredGuider : MonoBehaviour
 
     }
 
-    void OnDisable()
-    {
+    //void OnDisable()
+    //{
        
-    }
+    //}
+
+    //private void Update()
+    //{
+    //    if (Input.GetKeyDown(KeyCode.Alpha5))
+    //    {
+
+    //        onLongClickDevice();
+    //    }
+    //}
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 494 - 190
Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.prefab


+ 4 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider.cs

@@ -30,6 +30,10 @@ public class InfraredLightGuider2 : MonoBehaviour
 
             SetLocatePointsToCameraRender(ScreenLocate.quadUnityVectorList,1,1);
         }
+        //这里为了修改背景摄像机显示
+        Color currentColor = rawImage.color;
+        currentColor.a = Mathf.Clamp01(1);  // Clamp the alpha between 0 and 1
+        rawImage.color = currentColor;
     }
 
     void Update()

+ 7 - 7
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider.prefab

@@ -61,7 +61,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
@@ -723,18 +723,18 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 30
+    m_FontSize: 50
     m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 3
-    m_MaxSize: 40
+    m_MaxSize: 50
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u5C04\u51FB\u6D4B\u8BD5"
+  m_Text: "\u8FD4\u56DE"
 --- !u!114 &6524852190838108507
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -747,7 +747,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  textKey: ShootingTest
+  textKey: common_return
   layoutRebuildObject: {fileID: 0}
   languageFontSizes: []
 --- !u!1 &3835120308163295946
@@ -1441,7 +1441,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 1
     m_VerticalOverflow: 1
     m_LineSpacing: 1
-  m_Text: "\u4FDD\u6301\u753B\u9762\u91CC\u7684\u5C4F\u5E55\u6CA1\u6709\u767D\u8272\u5149\u6591\uFF0C\u5982\u679C\u6709\u5149\u6591\uFF0C\u9700\u8981\u627E\u51FA\u5E72\u6270\u5149\u6E90\u5173\u95ED\u5B83\n\u6216\u8C03\u6574\u6444\u50CF\u5934\u652F\u67B6\u4F4D\u7F6E\u4EE5\u5C4F\u853D\u5B83\u3002"
+  m_Text: "\u4FDD\u6301\u753B\u9762\u91CC\u7684\u5C4F\u5E55\u6CA1\u6709\u767D\u8272\u5149\u6591\uFF0C\u5982\u679C\u6709\u5149\u6591\uFF0C\u9700\u8981\u627E\u51FA\u5E72\u6270\u5149\u6E90\u5173\u95ED\u5B83\u6216\u8C03\u6574\u6FC0\u5149\u5B9A\u4F4D\u5668\u4F4D\u7F6E\u4EE5\u5C4F\u853D\u5B83\u3002"
 --- !u!114 &1494863647824932
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1870,7 +1870,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 184, y: 94.6}
+  m_SizeDelta: {x: 300, y: 94.6}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5172983043921543757
 CanvasRenderer:

+ 5 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.cs

@@ -30,6 +30,11 @@ public class InfraredLightGuider : MonoBehaviour
 
             SetLocatePointsToCameraRender(ScreenLocate.quadUnityVectorList,1,1);
         }
+
+
+        Color currentColor = rawImage.color;
+        currentColor.a = Mathf.Clamp01(1);  // Clamp the alpha between 0 and 1
+        rawImage.color = currentColor;
     }
 
     void Update()

+ 38 - 6
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.prefab

@@ -61,7 +61,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
@@ -593,6 +593,7 @@ GameObject:
   - component: {fileID: 1620113791676567164}
   - component: {fileID: 5387775683409949425}
   - component: {fileID: 8356330090887737821}
+  - component: {fileID: 9115085766427091156}
   m_Layer: 5
   m_Name: Text (Legacy) (2)
   m_TagString: Untagged
@@ -662,6 +663,21 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: "\u4EAE"
+--- !u!114 &9115085766427091156
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2531086782091359564}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Bright
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &2951423468958899145
 GameObject:
   m_ObjectHideFlags: 0
@@ -673,6 +689,7 @@ GameObject:
   - component: {fileID: 7485550831753071925}
   - component: {fileID: 5094812479432042104}
   - component: {fileID: 1654345014147801544}
+  - component: {fileID: 5101729204241764783}
   m_Layer: 5
   m_Name: Text (Legacy) (1)
   m_TagString: Untagged
@@ -742,6 +759,21 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: "\u6697"
+--- !u!114 &5101729204241764783
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2951423468958899145}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Dark
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &3316149295125559177
 GameObject:
   m_ObjectHideFlags: 0
@@ -811,18 +843,18 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 30
+    m_FontSize: 50
     m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 3
-    m_MaxSize: 40
+    m_MaxSize: 50
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u5C04\u51FB\u6D4B\u8BD5"
+  m_Text: "\u8FD4\u56DE"
 --- !u!114 &6524852190838108507
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -835,7 +867,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  textKey: ShootingTest
+  textKey: common_return
   layoutRebuildObject: {fileID: 0}
   languageFontSizes: []
 --- !u!1 &3835120308163295946
@@ -1659,7 +1691,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 300, y: 94.6}
+  m_SizeDelta: {x: 300, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5172983043921543757
 CanvasRenderer:

+ 8 - 8
Assets/BowArrow/Modules/InfraredGuider/InfraredResolution.prefab

@@ -481,11 +481,11 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 30
+    m_FontSize: 50
     m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 3
-    m_MaxSize: 40
+    m_MaxSize: 50
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
@@ -741,11 +741,11 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 30
+    m_FontSize: 50
     m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 3
-    m_MaxSize: 40
+    m_MaxSize: 50
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
@@ -1119,11 +1119,11 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 45
+    m_FontSize: 70
     m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 4
-    m_MaxSize: 45
+    m_MaxSize: 70
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
@@ -1260,7 +1260,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 184, y: 94.6}
+  m_SizeDelta: {x: 184, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &7481836493800468683
 CanvasRenderer:
@@ -1394,7 +1394,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 184, y: 94.6}
+  m_SizeDelta: {x: 184, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5172983043921543757
 CanvasRenderer:

BIN
Assets/BowArrow/Resources/Audios/be_loaded.mp3


+ 211 - 67
Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceViewInfrared.prefab

@@ -36,8 +36,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: 427.5, y: -14}
-  m_SizeDelta: {x: 285, y: 28}
+  m_AnchoredPosition: {x: 452.5, y: -25}
+  m_SizeDelta: {x: 285, y: 30}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4327481153495117696
 CanvasRenderer:
@@ -76,8 +76,8 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 8748957870701941239}
   - {fileID: 3319966071402702626}
+  - {fileID: 5368886303976252795}
   m_Father: {fileID: 2624584339530074265}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -104,7 +104,7 @@ MonoBehaviour:
     m_Top: 0
     m_Bottom: 0
   m_ChildAlignment: 4
-  m_Spacing: 40
+  m_Spacing: 30
   m_ChildForceExpandWidth: 0
   m_ChildForceExpandHeight: 0
   m_ChildControlWidth: 0
@@ -257,6 +257,7 @@ GameObject:
   - component: {fileID: 4124505392989978468}
   - component: {fileID: 3178871609471491117}
   - component: {fileID: 4434995619077324622}
+  - component: {fileID: 7522256270406972882}
   m_Layer: 5
   m_Name: Text
   m_TagString: Untagged
@@ -326,6 +327,21 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: "2P  \u6211\u7684WONDERFITTER \u8BBE\u5907"
+--- !u!114 &7522256270406972882
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385579827520165080}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_MyDeviceTitle2P
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &497525829943393009
 GameObject:
   m_ObjectHideFlags: 0
@@ -695,8 +711,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0.5}
   m_AnchorMax: {x: 0, y: 0.5}
-  m_AnchoredPosition: {x: 70, y: -14.000004}
-  m_SizeDelta: {x: 70, y: 28}
+  m_AnchoredPosition: {x: 75, y: -14.000004}
+  m_SizeDelta: {x: 70, y: 30}
   m_Pivot: {x: 0, y: 0}
 --- !u!222 &9102424749539000145
 CanvasRenderer:
@@ -728,12 +744,12 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 24
-    m_FontStyle: 0
+    m_FontSize: 30
+    m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 2
     m_MaxSize: 40
-    m_Alignment: 3
+    m_Alignment: 0
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 1
@@ -1213,7 +1229,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &3697929722062621677
 RectTransform:
   m_ObjectHideFlags: 0
@@ -1234,9 +1250,9 @@ RectTransform:
   m_Father: {fileID: 4242660785307798858}
   m_RootOrder: 1
   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_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 1006, y: -375}
   m_SizeDelta: {x: 620, y: 750}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5890894762981375525
@@ -1990,6 +2006,7 @@ GameObject:
   - component: {fileID: 4032015130671786350}
   - component: {fileID: 1573826367756168637}
   - component: {fileID: 2817974586232066848}
+  - component: {fileID: 7976466764508765836}
   m_Layer: 5
   m_Name: title
   m_TagString: Untagged
@@ -2059,6 +2076,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u5C4F\u5E55\u5B9A\u4F4D"
+--- !u!114 &7976466764508765836
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2519187698631005381}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_Btn_Screen
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &2556358481352995298
 GameObject:
   m_ObjectHideFlags: 0
@@ -2499,6 +2531,7 @@ GameObject:
   - component: {fileID: 678598712998616171}
   - component: {fileID: 4459570435422172270}
   - component: {fileID: 4176535467277887792}
+  - component: {fileID: 2627063191067710554}
   m_Layer: 5
   m_Name: title
   m_TagString: Untagged
@@ -2568,6 +2601,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u667A\u80FD\u5F13\u7BAD"
+--- !u!114 &2627063191067710554
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2956249261256406216}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_Btn_Archery
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &3090702339649029404
 GameObject:
   m_ObjectHideFlags: 0
@@ -2655,6 +2703,7 @@ GameObject:
   - component: {fileID: 4424689622087952574}
   - component: {fileID: 5677634002329696620}
   - component: {fileID: 3590390481849422466}
+  - component: {fileID: 537921283078541089}
   m_Layer: 5
   m_Name: Text
   m_TagString: Untagged
@@ -2724,6 +2773,21 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: "1P  \u6211\u7684WONDERFITTER \u8BBE\u5907"
+--- !u!114 &537921283078541089
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3456942862260362482}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_MyDeviceTitle1P
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &3468918820746832752
 GameObject:
   m_ObjectHideFlags: 0
@@ -2833,14 +2897,14 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 5368886303976252795}
+  - {fileID: 8748957870701941239}
   - {fileID: 4235770052945755040}
   m_Father: {fileID: 8809921120636371870}
-  m_RootOrder: 1
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 310, y: -127.5}
+  m_AnchoredPosition: {x: 310, y: -54}
   m_SizeDelta: {x: 570, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3819646608067363017
@@ -2899,7 +2963,7 @@ MonoBehaviour:
     m_Top: 0
     m_Bottom: 0
   m_ChildAlignment: 4
-  m_Spacing: 0
+  m_Spacing: 10
   m_ChildForceExpandWidth: 0
   m_ChildForceExpandHeight: 0
   m_ChildControlWidth: 0
@@ -3648,8 +3712,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: 427.5, y: -25}
-  m_SizeDelta: {x: 285, y: 28}
+  m_AnchoredPosition: {x: 452.5, y: -25}
+  m_SizeDelta: {x: 285, y: 30}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4765677205668891988
 CanvasRenderer:
@@ -3728,7 +3792,7 @@ MonoBehaviour:
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
     m_FontSize: 14
-    m_FontStyle: 0
+    m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 10
     m_MaxSize: 40
@@ -3962,7 +4026,7 @@ MonoBehaviour:
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
     m_FontSize: 14
-    m_FontStyle: 0
+    m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 10
     m_MaxSize: 40
@@ -4008,8 +4072,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0.5}
   m_AnchorMax: {x: 0, y: 0.5}
-  m_AnchoredPosition: {x: 70, y: -14.000004}
-  m_SizeDelta: {x: 70, y: 28}
+  m_AnchoredPosition: {x: 75, y: -14.000004}
+  m_SizeDelta: {x: 70, y: 30}
   m_Pivot: {x: 0, y: 0}
 --- !u!222 &617670098236080175
 CanvasRenderer:
@@ -4041,12 +4105,12 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 24
-    m_FontStyle: 0
+    m_FontSize: 30
+    m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 2
     m_MaxSize: 40
-    m_Alignment: 3
+    m_Alignment: 0
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 1
@@ -5039,6 +5103,7 @@ GameObject:
   - component: {fileID: 4496825468146933954}
   - component: {fileID: 4962358607051297953}
   - component: {fileID: 357045045445746495}
+  - component: {fileID: 3895655750695971699}
   m_Layer: 5
   m_Name: title
   m_TagString: Untagged
@@ -5108,6 +5173,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u65AD\u5F00\u8FDE\u63A5"
+--- !u!114 &3895655750695971699
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7332025093689908053}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Disconnect_Btn
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &7422259073830678695
 GameObject:
   m_ObjectHideFlags: 0
@@ -5139,14 +5219,14 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 5224722728605276788}
+  - {fileID: 4331716192076459625}
   - {fileID: 8505179751994062504}
   m_Father: {fileID: 3115437585392817648}
-  m_RootOrder: 1
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 310, y: -127.5}
+  m_AnchoredPosition: {x: 310, y: -54}
   m_SizeDelta: {x: 570, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1043175752115609201
@@ -5204,8 +5284,8 @@ MonoBehaviour:
     m_Right: 0
     m_Top: 0
     m_Bottom: 0
-  m_ChildAlignment: 0
-  m_Spacing: 0
+  m_ChildAlignment: 4
+  m_Spacing: 10
   m_ChildForceExpandWidth: 1
   m_ChildForceExpandHeight: 1
   m_ChildControlWidth: 0
@@ -5224,6 +5304,7 @@ GameObject:
   - component: {fileID: 741292733069802814}
   - component: {fileID: 3503910074354144956}
   - component: {fileID: 3209682440852996174}
+  - component: {fileID: 8295294304785417482}
   m_Layer: 5
   m_Name: title
   m_TagString: Untagged
@@ -5293,6 +5374,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u8FDE\u63A5\u8BBE\u5907"
+--- !u!114 &8295294304785417482
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7556665170582975310}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_Btn
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &7622741427315901751
 GameObject:
   m_ObjectHideFlags: 0
@@ -5322,8 +5418,8 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 4331716192076459625}
   - {fileID: 5756235976269569222}
+  - {fileID: 5224722728605276788}
   m_Father: {fileID: 8359389633136827950}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -5350,7 +5446,7 @@ MonoBehaviour:
     m_Top: 0
     m_Bottom: 0
   m_ChildAlignment: 4
-  m_Spacing: 40
+  m_Spacing: 30
   m_ChildForceExpandWidth: 0
   m_ChildForceExpandHeight: 0
   m_ChildControlWidth: 0
@@ -5523,6 +5619,7 @@ GameObject:
   - component: {fileID: 4556053596195783516}
   - component: {fileID: 6176992172429700426}
   - component: {fileID: 3965712022615949644}
+  - component: {fileID: 6354510550579178731}
   m_Layer: 5
   m_Name: title
   m_TagString: Untagged
@@ -5592,6 +5689,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u5207\u6362\u8BBE\u5907"
+--- !u!114 &6354510550579178731
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7867030853648936596}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Device_Switch
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &7890919721642812243
 GameObject:
   m_ObjectHideFlags: 0
@@ -5775,18 +5887,18 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8035895859342677344}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  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_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 3319966071402702626}
-  m_RootOrder: 0
+  m_Father: {fileID: 8809921120636371870}
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 142.5, y: -25}
-  m_SizeDelta: {x: 285, y: 28}
+  m_AnchoredPosition: {x: 310, y: -131.5}
+  m_SizeDelta: {x: 285, y: 45}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2148228175767830763
 CanvasRenderer:
@@ -5818,16 +5930,16 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 24
-    m_FontStyle: 0
+    m_FontSize: 45
+    m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 1
-    m_MaxSize: 40
-    m_Alignment: 5
+    m_MaxSize: 50
+    m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
-    m_HorizontalOverflow: 0
-    m_VerticalOverflow: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: Connect
 --- !u!114 &4288816417670544630
@@ -5856,6 +5968,7 @@ GameObject:
   - component: {fileID: 1204531698397008728}
   - component: {fileID: 5886681956805817508}
   - component: {fileID: 6329825763615910734}
+  - component: {fileID: 2669265562459831806}
   m_Layer: 5
   m_Name: title
   m_TagString: Untagged
@@ -5925,6 +6038,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u667A\u80FD\u624B\u67AA"
+--- !u!114 &2669265562459831806
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8241605669420897683}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_Btn_Gun
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &8311486230390535680
 GameObject:
   m_ObjectHideFlags: 0
@@ -5955,13 +6083,13 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 3115437585392817648}
+  m_Father: {fileID: 5756235976269569222}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 310, y: -46.5}
-  m_SizeDelta: {x: 570, y: 32}
+  m_AnchoredPosition: {x: 150, y: -25}
+  m_SizeDelta: {x: 300, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1281910840067255634
 CanvasRenderer:
@@ -5997,11 +6125,11 @@ MonoBehaviour:
     m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 1
-    m_MaxSize: 40
-    m_Alignment: 4
+    m_MaxSize: 50
+    m_Alignment: 5
     m_AlignByGeometry: 0
     m_RichText: 1
-    m_HorizontalOverflow: 0
+    m_HorizontalOverflow: 1
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: HOUYU 1
@@ -6264,6 +6392,7 @@ GameObject:
   - component: {fileID: 8657823886293718099}
   - component: {fileID: 1632295405972461884}
   - component: {fileID: 5742930117492303466}
+  - component: {fileID: 7042113016572373541}
   m_Layer: 5
   m_Name: title
   m_TagString: Untagged
@@ -6333,6 +6462,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u589E\u52A0 2P"
+--- !u!114 &7042113016572373541
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8398800510753710764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Add_2P
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &8443050917220159479
 GameObject:
   m_ObjectHideFlags: 0
@@ -6439,13 +6583,13 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 8809921120636371870}
+  m_Father: {fileID: 3319966071402702626}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 310, y: -46.5}
-  m_SizeDelta: {x: 570, y: 32}
+  m_AnchoredPosition: {x: 150, y: -25}
+  m_SizeDelta: {x: 300, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3479065381201898888
 CanvasRenderer:
@@ -6481,11 +6625,11 @@ MonoBehaviour:
     m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 1
-    m_MaxSize: 40
-    m_Alignment: 4
+    m_MaxSize: 50
+    m_Alignment: 5
     m_AlignByGeometry: 0
     m_RichText: 1
-    m_HorizontalOverflow: 0
+    m_HorizontalOverflow: 1
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: HOUYU 1
@@ -7212,18 +7356,18 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8760962491654948458}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  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_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 5756235976269569222}
-  m_RootOrder: 0
+  m_Father: {fileID: 3115437585392817648}
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 142.5, y: -14}
-  m_SizeDelta: {x: 285, y: 28}
+  m_AnchoredPosition: {x: 310, y: -131.5}
+  m_SizeDelta: {x: 285, y: 45}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &49497840751108719
 CanvasRenderer:
@@ -7255,16 +7399,16 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
-    m_FontSize: 24
-    m_FontStyle: 0
+    m_FontSize: 45
+    m_FontStyle: 1
     m_BestFit: 0
     m_MinSize: 1
-    m_MaxSize: 40
-    m_Alignment: 5
+    m_MaxSize: 45
+    m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
-    m_HorizontalOverflow: 0
-    m_VerticalOverflow: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: Connect
 --- !u!114 &2040204180109477403

+ 5 - 0
Assets/BowArrow/Resources/Textures/GameIcon/Prefabs/Views/Home/HomeView.prefab

@@ -8948,6 +8948,11 @@ MonoBehaviour:
     textId: OlynpicArchery
     languageType: 1
     startGameType: 1
+  - Name: "\u5965\u8FD0\u5C04\u51FB"
+    Icon: {fileID: 21300000, guid: 18d66f5fc74c78742859488b9296f558, type: 3}
+    textId: OlynpicArcheryGun
+    languageType: 1
+    startGameType: 1
   - Name: "\u6C34\u679C\u8FBE\u4EBA"
     Icon: {fileID: 21300000, guid: b8367c46f13808d46899bfa042e711cd, type: 3}
     textId: FruitExpert

+ 33 - 21
Assets/BowArrow/Scripts/Bluetooth/AimHandler.cs

@@ -97,6 +97,18 @@ public class AimDeviceInfos
         PlayerPrefs.DeleteKey("aim-device-info-" + LoginMgr.myUserInfo.id);
         aimDeviceInfos.arry.Clear();
     }
+    /// <summary>
+    /// 移除2p。即除了1p之后的设备
+    /// </summary>
+    public void onClear2PAimDeviceInfosNew()
+    {
+        OnGetAimDeviceInfos();
+        if (aimDeviceInfos.arry.Count > 1)
+        {
+            aimDeviceInfos.arry.RemoveRange(1, aimDeviceInfos.arry.Count - 1);
+        }
+        OnSaveAimDeviceInfos();
+    }
     public void OnGetAimDeviceInfos() {
         string deviceInfo = PlayerPrefs.GetString("aim-device-info-" + LoginMgr.myUserInfo.id, "");
         Debug.Log("get deviceSelectIndex:" + deviceInfo);
@@ -278,10 +290,11 @@ public class AimDeviceInfos
             m_magCompleted = false;
         }
 
-        if (Input.GetKeyDown(KeyCode.Space))
-        {
-            AutoResetView.DoIdentity();
-        }
+        //if (Input.GetKeyDown(KeyCode.Space))
+        //{
+        //    //AutoResetView.DoIdentity();
+        //    CrossBtnEvent();
+        //}
     }
 
     public void OnDataReceived(byte[] bytes)
@@ -319,21 +332,7 @@ public class AimDeviceInfos
                             //模拟鼠标弹出时候
                             InfraredGuider infraredGuider = FindAnyObjectByType<InfraredGuider>();
 
-                            if (infraredGuider != null)
-                            {
-                                //待检测到用户操作了两次单击按键功能,进入下一步
-
-                                if (GameMgr.ButtonCount == 1)
-                                {
-                                    GameMgr.ButtonCount = 0;
-                                    infraredGuider.OnStep2ShootTest();
-                                }
-                                else
-                                {
-                                    GameMgr.ButtonCount++;
-                                }
-                            }
-                            else
+                            if (infraredGuider == null)
                             {
                                 //视角回正
                                 DoIdentity();
@@ -362,8 +361,17 @@ public class AimDeviceInfos
                 {
                     //红外部分
                     if (GlobalData.MyDeviceMode == DeviceMode.Gun || BluetoothAim.ins && BluetoothAim.ins.isMainConnectToInfraredDevice())
-                    {     //‘校准'功能的调用,使用原来调出光标的功能键;即在HOUYI Pro使用长按视角归位键;在ARTEMIS Pro使用快速双击按键
-                        AutoResetView.DoIdentity();
+                    {
+                        InfraredGuider infraredGuider = FindAnyObjectByType<InfraredGuider>();
+                        //‘校准'功能的调用,使用原来调出光标的功能键;即在HOUYI Pro使用长按视角归位键;在ARTEMIS Pro使用快速双击按键
+                        if (infraredGuider == null)
+                        {
+                            AutoResetView.DoIdentity();
+                        }
+                        else {
+                            //先判断是否处于校准步骤
+                            infraredGuider.onLongClickDevice();
+                        }
                     }
                     else  if (SB_EventSystem.ins)
                     {
@@ -518,6 +526,10 @@ public class AimDeviceInfos
                 Button crossHairBtn = GameAssistUI.ins.transform.Find("Button5").GetComponent<Button>();
                 crossHairBtn.onClick.Invoke();
             }
+            else {
+                
+                infraredGuider.onClickDevice();
+            }
 
 
             //if (GameMgr.bShowDistance)

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

@@ -845,6 +845,7 @@ public class BluetoothAim : MonoBehaviour
     bool userDoConnect2P = false;
     int _scanCanRetryCount2P = 4;
     bool canConnect2P = true;
+    public bool bNoNeedToReconnect { get; set; } = true;//是否需要重连
 
     bool lerpForRotation2P = true;
     float lerpTimeRate2P = 7;
@@ -978,6 +979,7 @@ public class BluetoothAim : MonoBehaviour
                 GameController.ins.GetBowCameraDoublePlayer(PlayerType.SecondPlayer).isTouchMode = true;
             }
             Debug.Log("<color=blue>未连接</color>(点击连接)");
+            if (!bNoNeedToReconnect) return;
 
             scanLock = false;
             if (_scanCanRetryCount2P > 0)
@@ -1054,7 +1056,8 @@ public class BluetoothAim : MonoBehaviour
         {
             connectCanceled = false;
             userDoConnect2P = true;
-            doConnect2P = true;;
+            doConnect2P = true;
+            bNoNeedToReconnect = true;
             Connect2P();
         }
         else if (smartBowHelper2P.GetBluetoothStatus() == SmartBowSDK.BluetoothStatusEnum.Connected)

+ 28 - 7
Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/cn.json

@@ -335,6 +335,7 @@
 
   "======OlynpicArchery======": "注释",
   "OlynpicArchery": "奥运射箭",
+  "OlynpicArcheryGun": "奥运射击",
 
   "======FruitExpert======": "注释",
   "FruitExpert": "水果达人",
@@ -385,7 +386,9 @@
   连接页面
   **/
   "Connect_Title": "连接",
-  "Connect_AddDeviceTitle": "手动添加 WONDERFITTER 设备",
+  "Connect_MyDeviceTitle1P": "1P  我的WONDERFITTER 设备",
+  "Connect_MyDeviceTitle2P": "2P  我的WONDERFITTER 设备",
+  "Connect_AddDeviceTitle": "WONDERFITTER设备控制面板",
   "Connect_ButtonText": "点击进行连接",
   "Connect_Device_Init": "初始化",
 
@@ -395,6 +398,15 @@
   "Connect_BLE_Break": "断开连接",
   "Connect_BLE_None": "未知",
 
+  "Connect_Btn_Archery": "智能弓箭",
+  "Connect_Btn_Gun": "智能手枪",
+
+  "Connect_Btn_Screen": "屏幕定位",
+  "Connect_Btn": "连接设备",
+  "Disconnect_Btn": "断开连接",
+  "Add_2P": "增加 2P",
+  "Device_Switch": "切换设备",
+
   /**
   ConnectGuidanceView 页面
   **/
@@ -502,6 +514,7 @@
   "Result-Second": "秒",
   "Result-TimeLabel": "锻炼时间",
   "Result-ShootingLabel": "射箭",
+  "Result-GunShootingLabel": "射击",
   "Result-ShootUnit": "arr.",
   "Result-CaloriesLabel": "燃烧卡路里",
   "Result-CaloriesUnit": "kcal",
@@ -521,18 +534,20 @@
   /**
   手动识别部分
   **/
-  "TitleTip1": "调整激光定位器位置和角度,使其可以清晰地拍摄到屏\n幕的四角。先点击自动按键进行屏幕识别,屏幕上会出\n现黑屏和白屏的图像,并通过软件识别屏幕的显示区域。",
-  "TitleTip2": "如自动识别不准确,可以通过调整激光定位器位置或对图像对比度\n进行调节,使屏幕的边缘较清晰后,再次自动\n识别。如多次自动识别不成功,可点击手动功能,并通过手指点击拖动定位区域四个角\n进行调整。点击确认按键进入下一步。",
+  "TitleTip1": "请调整激光定位器位置,让屏幕尽可能的充满整个方框,并避免强光/太阳光照射在屏幕上;\n点击自动按键进行屏幕识别,可多次自动识别,直到四个红点与屏幕显示区域接近;",
+  "TitleTip2": "如自动识别不准确,可调整激光定位器或调整图像对比度,使屏幕\n边缘更清晰后,再次自动识别;\n如多次自动识别不成功,可点击手动功能,并用手指拖动定位区域\n四个角进行调整,点击确认进入下一步。",
   "Withdrawal": "撤回",
   "Automatic": "自动",
   "Manual": "手动",
   "Confirm": "确认",
-
+  "Reset": "重置",
   /**
    红外连接后游戏射击页面
   **/
-  "TopTip_ARTEMISPro": " 如未发现异常问题,请将箭筒头部垂直于屏幕并对准10米箭靶的圆心,\n并双击弓箭上的按键进行准心校准。",
-  "TopTip": " 如未发现异常问题,请将箭筒头部垂直于屏幕并对准10米箭靶的圆心,\n并长按模块上的 <sprite=0> 按键3秒进行准心校准。",
+  "TopTip_CrossHair": "单击模块上的 <sprite=0> 按键,这是进入准心调整界面的开/关,\n请连续操作两次。",
+  "TopTip_CrossHairGun": "单击设备上的按键,这是进入准心调整界面的开/关,\n请连续操作两次。",
+  "TopTip_ARTEMISPro": " 双击设备上的按键进行准心校准,之后请用正常的拉弓姿势,\n以箭筒头部为参考点瞄准靶心,10秒后完成准心校准。",
+  "TopTip": " 长按模块上的按键 <sprite=0> 3秒进行准心校准,之后请用正常的拉弓姿势,以箭筒头部为参考点瞄准靶心,10秒后完成准心校准",
   "TopTip2": "准心已校准,请射中靶子后,自动退出界面。",
   "LeftTitle": "异常问题检测",
   "LeftTip": "1、如发现光标不顺滑,或光标的移动范围不够大,请调整图像亮度或重新进行屏幕定位。\n\n2、如发现光标移动时有延时的现象,请调整分辨率或更换性能更好的手机后,再重新进行测试。\n\n3、如发现光标会随机闪烁不同的位置,或无法移动时,请点击环境测光寻找干扰源,并屏蔽干扰源。",
@@ -544,18 +559,24 @@
   "CameraSensitivity": "相机感光度",
   "AbnormalIssues": "异常问题处理",
 
+  "ErrorStepTip": "请移动弓箭控制准心,使其移动到四个圆点。\n当准心无法移动到四个圆点时,请点击“异常问题处理”。",
+  "ErrorTip1": "如发现光标移动时有延时的现象,请调整分辨率或更换性能更好的手机后,再重新进行测试;",
+  "ErrorTip2": "如发现光标会随机闪烁不同的位置,或无法移动时,请点击环境测光寻找干扰源,并屏蔽干扰源。",
+  "ErrorTip3": "如发现光标不顺滑,或光标的移动范围不够大,请调整图像亮度;",
   /**
    红外连接后游戏测试页面
   **/
   "ShootingTest": "射击测试",
   "BackShootingTest": "返回射击测试",
   "ImageContrast": "图像对比度",
-  "ShootingTestTip": "保持画面里的屏幕没有白色光斑,如果有光斑,需要找出干扰光源关闭它,或调整摄像头支架位置以屏蔽它。",
+  "ShootingTestTip": "保持画面里的屏幕没有白色光斑,如果有光斑,需要找出干扰光源关闭它或调整激光定位器位置以屏蔽它。",
 
   "ModifyResolution": "修改分辨率",
   "HighResolution": "高分辨率",
   "LowResolution": "低分辨率",
 
+  "Bright": "亮",
+  "Dark": "暗",
   /**
    子弹部分
   **/

+ 29 - 8
Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/en.json

@@ -384,6 +384,7 @@
 
   "======OlynpicArchery======": "注释",
   "OlynpicArchery": "Olympic Archery",
+  "OlynpicArcheryGun": "Olympic Shooting",
 
   "======FruitExpert======": "注释",
   "FruitExpert": "Fruit Expert",
@@ -432,7 +433,9 @@
   连接页面
   **/
   "Connect_Title": "Connect",
-  "Connect_AddDeviceTitle": "Add WONDERFITTER device manually",
+  "Connect_MyDeviceTitle1P": "1P My WONDERFITTER Device",
+  "Connect_MyDeviceTitle2P": "2P My WONDERFITTER Device",
+  "Connect_AddDeviceTitle": "WONDERFITTER Equipment Control Panel",
   "Connect_ButtonText": "Tap to connect",
   "Connect_Device_Init": "Init",
 
@@ -442,6 +445,14 @@
   "Connect_BLE_Break": "Break",
   "Connect_BLE_None": "None",
 
+  "Connect_Device_Archery": "Intelligent Archery",
+  "Connect_Device_Gun": "Intelligent Gun",
+
+  "Connect_Btn_Screen": "Screen Positioning",
+  "Connect_Btn": "Connect Device",
+  "Disconnect_Btn": "Disconnect",
+  "Add_2P": "Add 2P",
+  "Device_Switch": "Switch Device",
   /**
   ConnectGuidanceView 页面
   **/
@@ -552,6 +563,7 @@
   "Result-Second": "sec.",
   "Result-TimeLabel": "Time Exercising",
   "Result-ShootingLabel": "Arrows Shooting",
+  "Result-GunShootingLabel": "Shooting",
   "Result-ShootUnit": "arr.",
   "Result-CaloriesLabel": "Calories Burned",
   "Result-CaloriesUnit": "kcal",
@@ -570,18 +582,20 @@
   /**
   手动识别部分
   **/
-  "TitleTip1": "Adjust the position and angle of the laser locator so that it \ncan clearly capture the four corners of the screen.First, click \nthe auto button to perform screen recognition. The screen will \ndisplay black and white images, and the software will identify \nthe display area of the screen.",
-  "TitleTip2": "If automatic recognition is inaccurate, you can adjust the position \nof the laser locator or the image contrast to make the screen edges \nclearer,then try automatic recognition again.If multiple attempts \nat automatic recognition fail, you can click the manual function and \nuse your finger to click and drag the four corners of the positioning \narea to adjust.Click the confirm button to proceed to the next step.",
+  "TitleTip1": "Please adjust the position of the laser locator to fill the entire box as \nmuch as possible and avoid strong light/sunlight shining on the screen; \nClick the auto button to perform screen recognition, which can be automatically \nrecognized multiple times until the four red dots are close to the screen display area;",
+  "TitleTip2": "If the automatic recognition is not accurate, you can adjust the laser locator or adjust the \nimage contrast to make the screen edge clearer and then automatically recognize it again; \n If automatic recognition fails multiple times, click the manual function and drag the four \ncorners of the positioning area with your finger to adjust. Click OK to proceed to the next step. ",
   "Withdrawal": "Withdrawal",
   "Automatic": "Automatic",
   "Manual": "Manual",
   "Confirm": "Confirm",
-
+  "Reset": "Reset",
   /**
    红外连接后游戏射击页面
   **/
-  "TopTip_ARTEMISPro": "If no abnormal issues are found, please align the head of the arrow barrel \nvertically with the screen and aim it at the center of the 10 meter arrow target,\nand double-click the button on the bow to calibrate the center of gravity。",
-  "TopTip": "If no abnormal issues are found, please align the head of the arrow barrel vertically with the screen and aim it at the center of the 10 meter arrow target,\nand long press the <sprite=0> button on the module for 3 seconds to perform center calibration.",
+  "TopTip_CrossHair": "Click the <sprite=0> button on the module to enter the center adjustment \n interface. Please operate it twice in a row.",
+  "TopTip_CrossHairGun": "Click the button on the device. This toggles the crosshair adjustment interface on/off.\nPlease perform this action twice in a row.",
+  "TopTip_ARTEMISPro": "Double click the button on the device to calibrate the center of gravity.\nThen, use the normal bow position and aim at the target with the arrow head \nas the reference point. After 10 seconds, complete the center of gravity calibration.",
+  "TopTip": "Press and hold the button<sprite=0>on the module for 3 seconds to calibrate the center of sight. Then, use the normal bow position and aim at the target with the head of the arrow tube as the reference point. After 10 seconds, complete the center of sight calibration",
   "TopTip2": "Accurate heart calibration, please hit the target and automatically exit the interface.",
   "LeftTitle": "Abnormal Problem Detection",
   "LeftTip": "1、If the cursor is not smooth or its movement range is insufficient, please adjust the image brightness or reposition the screen.\n\n2、If you notice a delay when the cursor moves, try adjusting the resolution or switching to a higher-performance phone, then retest.\n\n3、If the cursor randomly flickers to different positions or cannot move, please click on ambient light measurement to locate the interference source and block it.",
@@ -593,19 +607,26 @@
   "CameraSensitivity": "Camera Sensitivity",
   "AbnormalIssues": "Abnormal Issues",
 
+  "ErrorStepTip": "Please move the bow and arrow control center to the four dots.\nWhen the center cannot move to the four dots, please click on 'Exception Handling'.",
+  "ErrorTip1": "If there is a delay when the cursor moves, please adjust the resolution or replace it with a better performing phone before retesting;",
+  "ErrorTip2": "If you find that the cursor randomly flashes at different positions or cannot move, please click on the ambient metering to find the interference source and block it.",
+  "ErrorTip3": "If you find that the cursor is not smooth or the movement range of the cursor is not large enough, please adjust the brightness of the image;",
+
+
   /**
    红外连接后游戏测试页面
   **/
   "ShootingTest": "Shooting Test",
   "BackShootingTest": "Back Shooting Test",
   "ImageContrast": "Image Contrast",
-  "ShootingTestTip": "Keep the screen in the picture free of white light spots. If there are light \nspots, you need to find the interfering light source and turn it off, or adjust \nthe camera bracket position to block it.",
+  "ShootingTestTip": "Keep the screen in the picture free of white light spots. If there are light \nspots, it is necessary to identify the interfering light source and turn it off \nor adjust the position of the laser locator to shield it.",
 
   "ModifyResolution": "Modify Resolution",
   "HighResolution": "High Resolution",
   "LowResolution": "Low Resolution",
 
-
+  "Bright": "Bright",
+  "Dark": "Dark",
   /**
    子弹部分
   **/

+ 25 - 2
Assets/BowArrow/Scripts/Expand/AutoResetView.cs

@@ -55,7 +55,22 @@ public class AutoResetView : MonoBehaviour
             AimHandler.ins.DoIdentity();
         }
     }
-    
+    /// <summary>
+    /// 引导页面弹出校准
+    /// </summary>
+    public static void onInfraredGuiderAutoResetView() {
+
+      AutoResetView autoResetView =  Instantiate(Resources.Load<GameObject>("Prefabs/Views/AutoResetView")).GetComponent<AutoResetView>();
+      autoResetView.bInfraredGuider = true;
+      autoResetView.infraredGuiderTime = 10;
+    }
+
+    /// <summary>
+    /// 是否是引导
+    /// </summary>
+    public bool bInfraredGuider = false;
+    public float infraredGuiderTime = 10;
+
     void Awake() {
         if (ins) {
             Destroy(gameObject);
@@ -65,7 +80,15 @@ public class AutoResetView : MonoBehaviour
     }
 
     void Start() {
-        prepareTime = UserSettings.ins.calibrationTime;
+        //进入引导游戏场景时候,设置时间
+        if (bInfraredGuider)
+        {
+            prepareTime = infraredGuiderTime;
+        }
+        else {
+
+            prepareTime = UserSettings.ins.calibrationTime;
+        }
         Debug.Log("弓箭重置时间:" + prepareTime);
 
         if (SceneManager.GetActiveScene().name == "Game") {

+ 6 - 6
Assets/BowArrow/Scripts/Game/CrossHair.cs

@@ -42,14 +42,14 @@ public class CrossHair : MonoBehaviour
     void Update()
     {
         //如果是新手指引的情况,或者校准时候,一定
-        if (infraredGuiderObj != null && infraredGuiderObj.activeSelf == true || AutoResetView.ins != null)
-        {
-            SetVisiable(true);
-        }
-        else {
+        //if (infraredGuiderObj != null && infraredGuiderObj.activeSelf == true || AutoResetView.ins != null)
+        //{
+        //    SetVisiable(true);
+        //}
+        //else {
             //按照条件显示图标
             if (open) SetVisiable(onlyShow && ArmBow.ins && ArmBow.ins.IsCanShoot());
-        }
+        //}
     }
 
     void SetVisiable(bool value)

+ 11 - 6
Assets/BowArrow/Scripts/GameMode/TimeLimitGameMode.cs

@@ -66,16 +66,21 @@ public class TimeLimitGameMode : GameMode {
         yield return new WaitForSeconds(1.0f);
         if (GameMgr.bNavBack)
         {
-            GameMgr.bNavBack = false;
 
-            GameObject  _infraredGuiderObj = UnityEngine.Object.FindObjectOfType<InfraredGuider>()?.gameObject;
-            if (_infraredGuiderObj != null)
+            InfraredGuider _infraredGuider = UnityEngine.Object.FindObjectOfType<InfraredGuider>();
+            if (_infraredGuider != null)
             {
-                //红外光引导射击
-                //直接回到主页
-                UnityEngine.SceneManagement.SceneManager.LoadScene("Home", UnityEngine.SceneManagement.LoadSceneMode.Single);
+                //红外光引导射击,如果是显示这个状态
+                if (_infraredGuider.mTipStep == TipStep.Finish) 
+                {
+                    GameMgr.bNavBack = false;
+                    //直接回到主页
+                    UnityEngine.SceneManagement.SceneManager.LoadScene("Home", UnityEngine.SceneManagement.LoadSceneMode.Single);
+                }
             }
             else {
+
+                GameMgr.bNavBack = false;
                 //普通引导时候射击
                 HomeView.bOpenOtherView = true;
                 HomeView.openName = "DeviceView";

+ 19 - 19
Assets/BowArrow/Scripts/Manager/TextureMgr.cs

@@ -9,7 +9,6 @@ public class GameInfo
     public Texture2D texture2D;
     //自动语言转换id
     public string textId;
-
     //添加哪个语言脚本
     public int languageType = 0;
 
@@ -150,24 +149,24 @@ public class TextureMgr
     TextureMgr()
     {
         // 定义游戏信息的字典
-        var gameData = new Dictionary<int, (string name, string textId, string texturePath, int languageType)>
+        var gameData = new Dictionary<int, (string name, string textId, string textIdGun, string texturePath, int languageType)>
     {
-        { 1, ("静止靶 (单人)", "OlynpicArchery", "OlynpicArchery", 1) },
-        { 2, ("静止靶 (本地PK)", "OlynpicArchery", "OlynpicArchery", 1) },
-        { 3, ("兔子关卡 (单人)", "HareHunt", "rabbit_level", 1) },
-        { 4, ("野鸡关卡 (单人)", "PheasuntHunt", "hunt_level", 1) },
-        { 5, ("野狼关卡 (单人)", "WolfHunt", "wolf_level", 1) },
-        { 6, ("兔子关卡 (本地PK)", "HareHunt", "rabbit_level", 1) },
-        { 7, ("野鸡关卡 (本地PK)", "PheasuntHunt", "hunt_level", 1) },
-        { 8, ("野狼关卡 (本地PK)", "WolfHunt", "wolf_level", 1) },
-        { 9, ("静止靶 (联机PK)", "OlynpicArchery", "OlynpicArchery", 1) },
-        {10, ("兔子关卡 (联机PK)", "HareHunt", "rabbit_level", 1) },
-        {11, ("野鸡关卡 (联机PK)", "PheasuntHunt", "hunt_level", 1) },
-        {12, ("野狼关卡 (联机PK)", "WolfHunt", "wolf_level", 1) },
-        {13, ("野鸭关卡 (单人)", "LevelDuckHunter", "duck_level", 1) },
-        {14, ("荒野射击 (单人)", "LevelWildAttack", "wild_level", 1) },
-        {15, ("水果达人 (单人)", "FruitExpert", "FruitExpert", 1) },
-        {16, ("移动目标 (单人)", "MovingTarget", "movingTarget_level", 2) },
+        { 1, ("静止靶 (单人)", "OlynpicArchery", "OlynpicArcheryGun", "OlynpicArchery", 1) },
+        { 2, ("静止靶 (本地PK)", "OlynpicArchery", "OlynpicArcheryGun", "OlynpicArchery", 1) },
+        { 3, ("兔子关卡 (单人)", "HareHunt", "HareHunt","rabbit_level", 1) },
+        { 4, ("野鸡关卡 (单人)", "PheasuntHunt", "PheasuntHunt", "hunt_level", 1) },
+        { 5, ("野狼关卡 (单人)", "WolfHunt", "WolfHunt", "wolf_level", 1) },
+        { 6, ("兔子关卡 (本地PK)", "HareHunt", "HareHunt", "rabbit_level", 1) },
+        { 7, ("野鸡关卡 (本地PK)", "PheasuntHunt", "PheasuntHunt","hunt_level", 1) },
+        { 8, ("野狼关卡 (本地PK)", "WolfHunt", "WolfHunt","wolf_level", 1) },
+        { 9, ("静止靶 (联机PK)", "OlynpicArchery","OlynpicArcheryGun", "OlynpicArchery", 1) },
+        {10, ("兔子关卡 (联机PK)", "HareHunt","HareHunt", "rabbit_level", 1) },
+        {11, ("野鸡关卡 (联机PK)", "PheasuntHunt","PheasuntHunt", "hunt_level", 1) },
+        {12, ("野狼关卡 (联机PK)", "WolfHunt", "WolfHunt","wolf_level", 1) },
+        {13, ("野鸭关卡 (单人)", "LevelDuckHunter","LevelDuckHunter", "duck_level", 1) },
+        {14, ("荒野射击 (单人)", "LevelWildAttack","LevelWildAttack", "wild_level", 1) },
+        {15, ("水果达人 (单人)", "FruitExpert","FruitExpert", "FruitExpert", 1) },
+        {16, ("移动目标 (单人)", "MovingTarget","MovingTarget", "movingTarget_level", 2) },
     };
 
         foreach (var gameEntry in gameData)
@@ -178,7 +177,8 @@ public class TextureMgr
                 gameType = gameEntry.Key,
                 name = gameEntry.Value.name,
                 languageType = gameEntry.Value.languageType,
-                textId = gameEntry.Value.textId,
+                //更具当前设备区分
+                textId = GlobalData.MyDeviceMode == DeviceMode.Gun? gameEntry.Value.textIdGun : gameEntry.Value.textId,
                 path = _path,
                 texture2D = Resources.Load(_path) as Texture2D // Load texture
             };

+ 17 - 6
Assets/BowArrow/Scripts/View/Home/DeviceViewInfrared.cs

@@ -68,10 +68,11 @@ public class DeviceViewInfrared : JCUnityLib.ViewBase, MenuBackInterface
         {
             ShowDeviceViewItemsTwo(true);
         }
-        else {
-            ShowDeviceViewItemsTwo(false);
-        }
-      
+        //else
+        //{
+        //    ShowDeviceViewItemsTwo(false);
+        //}
+
     }
 
     void OnDestroy()
@@ -82,6 +83,12 @@ public class DeviceViewInfrared : JCUnityLib.ViewBase, MenuBackInterface
         //退出面板时候,取消正在连接的连接
         BluetoothAim.ins.onCancelAllConnecting();
 
+        //如果没有连接
+        if (!deviceViewItems[1].getBLEConnectState()) {
+            //隐藏时候。直接清空这个记录数据
+            AimHandler.ins.onClear2PAimDeviceInfosNew();
+        }
+
     }
 
     void Update()
@@ -129,10 +136,11 @@ public class DeviceViewInfrared : JCUnityLib.ViewBase, MenuBackInterface
                 if (Connect2Parent.activeSelf) Connect2Parent.SetActive(false);
             }
             //2p 按钮 ,两个同时蓝牙连接后。隐藏
-            if (deviceViewItems[0].getBLEConnectState() && deviceViewItems[1].getBLEConnectState())
+            if (deviceViewItems[1].gameObject.activeSelf || deviceViewItems[0].getBLEConnectState() && deviceViewItems[1].getBLEConnectState())
             {
-                if(smartConnect2Buttons[3].gameObject.activeSelf)
+                if (smartConnect2Buttons[3].gameObject.activeSelf) {
                     smartConnect2Buttons[3].gameObject.SetActive(false);
+                }
             }
             else if(!smartConnect2Buttons[3].gameObject.activeSelf)
             {
@@ -150,9 +158,12 @@ public class DeviceViewInfrared : JCUnityLib.ViewBase, MenuBackInterface
             if (!deviceViewItems[1].gameObject.activeSelf)
             {
                 deviceViewItems[1].gameObject.SetActive(true);
+                deviceViewItems[1].onShowDeviceInfo();//手动刷新一下信息
                 horizontalLayoutGroup.spacing = 40;
                 //显示2p时候。默认选择中
                 deviceViewItems[1].OnSelectEvent();
+
+              
             }
         }
         else

+ 9 - 4
Assets/BowArrow/Scripts/View/Home/DeviceView_ItemShow.cs

@@ -445,18 +445,23 @@ public class DeviceView_ItemShow : MonoBehaviour
 
         Debug.Log("OnDisConnectedEvent bluetoothPlayer:" + bluetoothPlayer);
 
-        if (BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess)
-        {
+      
             //¶Ï¿ªÁ¬½Ó
             if (bluetoothPlayer == BluetoothPlayer.FIRST_PLAYER)
             {
-                BluetoothAim.ins.DoConnect();
+                if (BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess)
+                    BluetoothAim.ins.DoConnect();
             }
             else
             {
+            if (BluetoothAim.ins && BluetoothAim.ins.getSmartBowHelper2P().GetBluetoothStatus() == SmartBowSDK.BluetoothStatusEnum.Connected) {
+
+                BluetoothAim.ins.bNoNeedToReconnect = false;
+
                 BluetoothAim.ins.DoConnect2P();
             }
-        }
+            }
+        
     }
     /// <summary>
     /// Ñ¡Ôñʼþ

+ 3 - 2
Assets/BowArrow/Scripts/View/Home/HomeView_ChallengeOption.cs

@@ -31,13 +31,14 @@ public class HomeView_ChallengeOption : MonoBehaviour
     [SerializeField] Button prevCellButton = default;
     [SerializeField] Button nextCellButton = default;
     [SerializeField] ScrollPanel productsPanel;
-
+    [Tooltip("所有关卡的设置信息")]
     public List<LevelInfo> levelInfos;
     List<LevelInfo> _tempLevelInfos = new List<LevelInfo>();
     //弓箭游戏列表
     List<string> gameTextIds = new List<string> { "OlynpicArchery", "WolfHunt", "LevelWildAttack", "FruitExpert", "LevelDuckHunter", "HareHunt", "PheasuntHunt" , "MovingTarget" };
     //切换枪械情况下切换这个游戏列表
-    List<string> gameTextIds_gun = new List<string> { "OlynpicArchery", "FruitExpert", "LevelDuckHunter", "MovingTarget" };
+    //OlynpicArcheryGun 是射击版的OlynpicArchery
+    List<string> gameTextIds_gun = new List<string> { "OlynpicArcheryGun", "FruitExpert", "LevelDuckHunter", "MovingTarget" };
     //#if UNITY_ANDROID
     //    List<String> gameTextIds = new List<string> { "OlynpicArchery", "LevelWildAttack", "FruitExpert", "LevelDuckHunter" };
     //#else

+ 1 - 1
Assets/FruitMaster/Scripts/GamingManager.cs

@@ -182,7 +182,7 @@ public class GamingManager : MonoBehaviour
 
         if (bGameStarted && !bGamePaused)
         {
-            // listen to mouse firing arrow
+            // listen to mouse firing arrow 
             if (Input.GetMouseButtonDown(0) && BowCamera.isTouchMode)
             {
                 AimingCross_img.gameObject.GetComponent<RectTransform>().position = Input.mousePosition;

+ 9 - 3
Assets/Game_Hyperspace/Script/GeneratingTarget.cs

@@ -205,10 +205,16 @@ public class GeneratingTarget : MonoBehaviour
         gm = null;
 
         onUploadScore();
+        ////结束游戏页面
+        //userGameAnalyse1.UploadData(true);
+        //userGameAnalyse1.onResetOverlayData();
+        //SceneManager.LoadScene("Home", LoadSceneMode.Single);
+
         //结束游戏页面
-        userGameAnalyse1.UploadData(true);
-        userGameAnalyse1.onResetOverlayData();
-        SceneManager.LoadScene("Home", LoadSceneMode.Single);
+        userGameAnalyse1.showResultView(() =>
+        {
+            SceneManager.LoadScene("Home", LoadSceneMode.Single);
+        });
     }
 
     void Start()

BIN
Assets/Plugins/Android/libuvccamera.aar


+ 3 - 0
Assets/SmartBow/Resources/Common/BulletManager.prefab

@@ -141,6 +141,8 @@ MonoBehaviour:
   emptyBulletSprite: {fileID: 21300000, guid: 434fe1c3dda4d2b4eb8da12815e1622d, type: 3}
   defaultBulletCount: 15
   parent: {fileID: 0}
+  bCenter: 0
+  bulletTipColor: {r: 1, g: 0.105882354, b: 0.18039216, a: 1}
 --- !u!1 &1876679421156954069
 GameObject:
   m_ObjectHideFlags: 0
@@ -198,6 +200,7 @@ Canvas:
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
   m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
   m_AdditionalShaderChannelsFlag: 0
   m_SortingLayerID: 0
   m_SortingOrder: 0

+ 1 - 0
Assets/SmartBow/Resources/Common/BulletManager_Fruit.prefab

@@ -1180,6 +1180,7 @@ MonoBehaviour:
   defaultBulletCount: 15
   parent: {fileID: 0}
   bCenter: 1
+  bulletTipColor: {r: 0.9427508, g: 1, b: 0, a: 1}
 --- !u!1 &4303088161959514138
 GameObject:
   m_ObjectHideFlags: 0

+ 80 - 2
Assets/SmartBow/Resources/Common/TipBulletNumber.prefab

@@ -33,7 +33,7 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 783234584897278844}
-  m_RootOrder: 0
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -81,7 +81,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 1
     m_VerticalOverflow: 1
     m_LineSpacing: 1
-  m_Text: "\u8BF7\u66F4\u6362\u5F39\u5939\uFF01"
+  m_Text: "\u8BF7\u66F4\u6362\u5F39\u5939!"
 --- !u!114 &1424465692820929678
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -141,6 +141,7 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
+  - {fileID: 5018797254567088007}
   - {fileID: 4955470051127942227}
   m_Father: {fileID: 0}
   m_RootOrder: 0
@@ -162,3 +163,80 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 4b4405f9ab2064e47addd87c8501c043, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  outText: {fileID: 1925971231763318881}
+--- !u!1 &6651814312560335489
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5018797254567088007}
+  - component: {fileID: 373780732306767150}
+  - component: {fileID: 728062842645233407}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5018797254567088007
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6651814312560335489}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 783234584897278844}
+  m_RootOrder: 0
+  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: -0.000076293945, y: 0}
+  m_SizeDelta: {x: 348.18, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &373780732306767150
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6651814312560335489}
+  m_CullTransparentMesh: 1
+--- !u!114 &728062842645233407
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6651814312560335489}
+  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: 0.14150941, g: 0.14150941, b: 0.14150941, a: 0.4509804}
+  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: 21300000, guid: f36c1bb525caeaf419a4b369bb1855f9, type: 3}
+  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

+ 260 - 6
Assets/SmartBow/Resources/SmartBow/Prefabs/Views/GameResultView.prefab

@@ -1,5 +1,101 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!1 &134641336044343435
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5452515904295207473}
+  - component: {fileID: 8376281510790726691}
+  - component: {fileID: 554309415406172468}
+  - component: {fileID: 8679520816117396099}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5452515904295207473
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 134641336044343435}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8481870442611658209}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 211.235, y: -65.50004}
+  m_SizeDelta: {x: 268, y: 38}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8376281510790726691
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 134641336044343435}
+  m_CullTransparentMesh: 1
+--- !u!114 &554309415406172468
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 134641336044343435}
+  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.29803923, g: 0.6, b: 0.64705884, 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: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 40
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 60
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: Shooting
+--- !u!114 &8679520816117396099
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 134641336044343435}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Result-GunShootingLabel
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &740427088997581663
 GameObject:
   m_ObjectHideFlags: 0
@@ -296,8 +392,8 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 8838701306199674634}
-  - {fileID: 3130687873644734345}
+  - {fileID: 8481870442611658209}
+  - {fileID: 2961237337708011297}
   - {fileID: 4593149041160737508}
   - {fileID: 5292821861522373025}
   m_Father: {fileID: 2809629714688895086}
@@ -714,6 +810,7 @@ MonoBehaviour:
   languageFontSizes:
   - language: 0
     fontSize: 40
+    lineSpacing: 0
 --- !u!1 &2619685929738768010
 GameObject:
   m_ObjectHideFlags: 0
@@ -990,6 +1087,44 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: 99
+--- !u!1 &3755556060352257080
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2961237337708011297}
+  m_Layer: 5
+  m_Name: Arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2961237337708011297
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3755556060352257080}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 8838701306199674634}
+  - {fileID: 3130687873644734345}
+  m_Father: {fileID: 7422063681481786385}
+  m_RootOrder: 1
+  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: -463.6175, y: 14}
+  m_SizeDelta: {x: 345.235, y: 120}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &3935534455783173961
 GameObject:
   m_ObjectHideFlags: 0
@@ -1146,6 +1281,44 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: 99
+--- !u!1 &4192631324987512564
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8481870442611658209}
+  m_Layer: 5
+  m_Name: Gun
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &8481870442611658209
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4192631324987512564}
+  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_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7202494670030962919}
+  - {fileID: 5452515904295207473}
+  m_Father: {fileID: 7422063681481786385}
+  m_RootOrder: 0
+  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: -463.61755, y: 14.000056}
+  m_SizeDelta: {x: 345.235, y: 120}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &4528185496924833269
 GameObject:
   m_ObjectHideFlags: 0
@@ -1244,6 +1417,7 @@ MonoBehaviour:
   languageFontSizes:
   - language: 0
     fontSize: 40
+    lineSpacing: 0
 --- !u!1 &4760708073854113132
 GameObject:
   m_ObjectHideFlags: 0
@@ -1320,6 +1494,82 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5301769908203875732
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7202494670030962919}
+  - component: {fileID: 4309197393574045330}
+  - component: {fileID: 505653583509952894}
+  m_Layer: 0
+  m_Name: Sprite
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7202494670030962919
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5301769908203875732}
+  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_ConstrainProportionsScale: 1
+  m_Children: []
+  m_Father: {fileID: 8481870442611658209}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 44.9, y: 0.0000371933}
+  m_SizeDelta: {x: 157.4, y: 93.9}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &4309197393574045330
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5301769908203875732}
+  m_CullTransparentMesh: 0
+--- !u!114 &505653583509952894
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5301769908203875732}
+  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: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4eae180ce588f9f4f9dcb112bc5fedf0, type: 3}
+  m_Type: 0
+  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!1 &5675532061170472807
 GameObject:
   m_ObjectHideFlags: 0
@@ -1418,6 +1668,7 @@ MonoBehaviour:
   languageFontSizes:
   - language: 0
     fontSize: 40
+    lineSpacing: 0
 --- !u!1 &5848904792596831284
 GameObject:
   m_ObjectHideFlags: 0
@@ -1589,12 +1840,12 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 7422063681481786385}
+  m_Father: {fileID: 2961237337708011297}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 175, y: -63}
+  m_AnchoredPosition: {x: 211.235, y: -65.50004}
   m_SizeDelta: {x: 268, y: 38}
   m_Pivot: {x: 0, y: 0.5}
 --- !u!222 &7558708267559338090
@@ -1765,6 +2016,7 @@ Canvas:
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
   m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
   m_AdditionalShaderChannelsFlag: 0
   m_SortingLayerID: 0
   m_SortingOrder: 999
@@ -1827,6 +2079,8 @@ MonoBehaviour:
   second: {fileID: 7687407921770429057}
   shootCount: {fileID: 938660518603459634}
   calories: {fileID: 4298324856390495813}
+  ArrowInfo: {fileID: 3755556060352257080}
+  GunInfo: {fileID: 4192631324987512564}
 --- !u!1 &7060471198707933193
 GameObject:
   m_ObjectHideFlags: 0
@@ -2597,12 +2851,12 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 7422063681481786385}
+  m_Father: {fileID: 2961237337708011297}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0.5}
   m_AnchorMax: {x: 0, y: 0.5}
-  m_AnchoredPosition: {x: 25, y: 14}
+  m_AnchoredPosition: {x: 61.234997, y: 0.0000371933}
   m_SizeDelta: {x: 122.47, y: 120}
   m_Pivot: {x: 0, y: 0.5}
 --- !u!222 &2529603610027308900

+ 63 - 11
Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/InfraredScreenPositioningView.prefab

@@ -377,7 +377,7 @@ RectTransform:
   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: 1052, y: 458}
+  m_AnchoredPosition: {x: 1052, y: 351}
   m_SizeDelta: {x: 200, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1574323687
@@ -479,7 +479,7 @@ RectTransform:
   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: 1076, y: 76}
+  m_AnchoredPosition: {x: 1076, y: -31}
   m_SizeDelta: {x: 21.03, y: 636.04}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1657718198
@@ -659,7 +659,7 @@ RectTransform:
   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: 1121, y: 76}
+  m_AnchoredPosition: {x: 1121, y: -31}
   m_SizeDelta: {x: 60, y: 647.97}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1710848639
@@ -3090,6 +3090,7 @@ GameObject:
   - component: {fileID: 6291751542338047667}
   - component: {fileID: 3260208961506221279}
   - component: {fileID: 2687458959944016227}
+  - component: {fileID: 6236018482021242712}
   m_Layer: 5
   m_Name: TextTip 2
   m_TagString: Untagged
@@ -3114,8 +3115,8 @@ RectTransform:
   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: 0, y: 0}
-  m_SizeDelta: {x: 1540, y: 244}
+  m_AnchoredPosition: {x: -131.39548, y: 0}
+  m_SizeDelta: {x: 2010.3208, y: 244}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3260208961506221279
 CanvasRenderer:
@@ -3152,13 +3153,32 @@ MonoBehaviour:
     m_BestFit: 0
     m_MinSize: 0
     m_MaxSize: 53
-    m_Alignment: 4
+    m_Alignment: 3
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 1
     m_VerticalOverflow: 1
     m_LineSpacing: 1
-  m_Text: "\u5982\u81EA\u52A8\u8BC6\u522B\u4E0D\u51C6\u786E\uFF0C\u53EF\u8C03\u6574\u6FC0\u5149\u5B9A\u4F4D\u5668\u6216\u8C03\u6574\u56FE\u50CF\u5BF9\u6BD4\u5EA6\uFF0C\u4F7F\u5C4F\u5E55\u8FB9\u7F18\u66F4\n\u6E05\u6670\u540E\uFF0C\u518D\u6B21\u81EA\u52A8\u8BC6\u522B\uFF1B\r\u5982\u591A\u6B21\u81EA\u52A8\u8BC6\u522B\u4E0D\u6210\u529F\uFF0C\u53EF\u70B9\u51FB\u624B\u52A8\u529F\u80FD\uFF0C\u5E76\u7528\n\u624B\u6307\u62D6\u52A8\u5B9A\u4F4D\u533A\u57DF\u56DB\u4E2A\u89D2\u8FDB\u884C\u8C03\u6574\uFF0C\u70B9\u51FB\u786E\u8BA4\u8FDB\u5165\u4E0B\u4E00\u6B65\uFF1B"
+  m_Text: "If the automatic recognition is not accurate, you can adjust the laser
+    locator or adjust the \nimage contrast to make the screen edge clearer and then
+    automatically recognize it again;\n If automatic recognition fails multiple times,
+    click the manual function and drag the four\n corners of the positioning area
+    with your finger to adjust. Click OK to proceed to the next step. "
+--- !u!114 &6236018482021242712
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4901933954594160457}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: TitleTip2
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &5200702324567003523
 GameObject:
   m_ObjectHideFlags: 0
@@ -3587,6 +3607,7 @@ GameObject:
   - component: {fileID: 213060852178376601}
   - component: {fileID: 4859593515274267305}
   - component: {fileID: 3128554242021740522}
+  - component: {fileID: 8602310250466943268}
   m_Layer: 5
   m_Name: TextTip 1
   m_TagString: Untagged
@@ -3611,8 +3632,8 @@ RectTransform:
   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: 0, y: 0}
-  m_SizeDelta: {x: 1540, y: 244}
+  m_AnchoredPosition: {x: -128.73056, y: 14.1913}
+  m_SizeDelta: {x: 1797.5011, y: 272.3826}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4859593515274267305
 CanvasRenderer:
@@ -3649,13 +3670,28 @@ MonoBehaviour:
     m_BestFit: 0
     m_MinSize: 0
     m_MaxSize: 53
-    m_Alignment: 4
+    m_Alignment: 3
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 1
     m_VerticalOverflow: 1
     m_LineSpacing: 1.2
-  m_Text: "\u8BF7\u8C03\u6574\u6FC0\u5149\u5B9A\u4F4D\u5668\u4F4D\u7F6E\uFF0C\u8BA9\u5C4F\u5E55\u5C3D\u53EF\u80FD\u7684\u5145\u6EE1\u6574\u4E2A\u65B9\u6846\uFF0C\u5E76\u907F\u514D\u5F3A\u5149/\u592A\u9633\u5149\u7167\u5C04\u5728\u5C4F\u5E55\u4E0A\uFF1B\r\n\u70B9\u51FB\u81EA\u52A8\u6309\u952E\u8FDB\u884C\u5C4F\u5E55\u8BC6\u522B\uFF0C\u53EF\u591A\u6B21\u81EA\u52A8\u8BC6\u522B\uFF0C\u76F4\u5230\u56DB\u4E2A\u7EA2\u70B9\u4E0E\u5C4F\u5E55\u663E\u793A\u533A\u57DF\u63A5\u8FD1\uFF1B"
+  m_Text: "\u8BF7\u8C03\u6574\u6FC0\u5149\u5B9A\u4F4D\u5668\u4F4D\u7F6E\uFF0C\u8BA9\u5C4F\u5E55\u5C3D\u53EF\u80FD\u7684\u5145\u6EE1\u6574\u4E2A\u65B9\u6846\uFF0C\u5E76\u907F\u514D\u5F3A\u5149/\u592A\u9633\u5149\u7167\u5C04\u5728\u5C4F\u5E55\u4E0A\uFF1B\n\u70B9\u51FB\u81EA\u52A8\u6309\u952E\u8FDB\u884C\u5C4F\u5E55\u8BC6\u522B\uFF0C\u53EF\u591A\u6B21\u81EA\u52A8\u8BC6\u522B\uFF0C\u76F4\u5230\u56DB\u4E2A\u7EA2\u70B9\u4E0E\u5C4F\u5E55\u663E\u793A\u533A\u57DF\u63A5\u8FD1\uFF1B"
+--- !u!114 &8602310250466943268
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6474032259244959646}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: TitleTip1
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &6607547226471776927
 GameObject:
   m_ObjectHideFlags: 0
@@ -4850,6 +4886,7 @@ GameObject:
   - component: {fileID: 9012286184410734088}
   - component: {fileID: 2924947975297261077}
   - component: {fileID: 6015847050880714621}
+  - component: {fileID: 7166002538519811471}
   m_Layer: 5
   m_Name: Text
   m_TagString: Untagged
@@ -4919,6 +4956,21 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: "\u91CD\u7F6E"
+--- !u!114 &7166002538519811471
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8261923157045011813}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Reset
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &8427933407996438405
 GameObject:
   m_ObjectHideFlags: 0

+ 8 - 3
Assets/SmartBow/Scripts/Common/BulletManager.cs

@@ -16,6 +16,10 @@ public class BulletManager : MonoBehaviour
     [SerializeField]
     [Tooltip("生成子弹不足提示的位置是否在是正中心")]
     bool bCenter = false;
+
+    [SerializeField]
+    [Tooltip("生成子弹不足提示的字体颜色")]
+    Color bulletTipColor;
     //射击数
     private int numberOfShotsFired = 0;
     public int getBulletCount { 
@@ -23,7 +27,7 @@ public class BulletManager : MonoBehaviour
             return bulletCount;
         }
     }
-    void Start()
+    void Awake()
     {
         numberOfShotsFired = 0;
         ResetBullets();
@@ -53,7 +57,7 @@ public class BulletManager : MonoBehaviour
 
     public bool bulletZero() {
         if (getBulletCount == 0) {
-            Create(parent.transform,bCenter);
+            Create(parent.transform,bCenter, bulletTipColor);
             //暂时自动刷新,接入协议后修改效果
             //ResetBullets();
             return true;
@@ -78,7 +82,7 @@ public class BulletManager : MonoBehaviour
 
 
     static List<GameObject> bulletNumber = new();
-    public static void Create(Transform parentTran,bool centerPos)
+    public static void Create(Transform parentTran,bool centerPos,Color color)
     {
         //清空对象
         for (int i = bulletNumber.Count - 1; i >= 0; i--)
@@ -89,6 +93,7 @@ public class BulletManager : MonoBehaviour
         GameObject o = Instantiate(Resources.Load<GameObject>("Common/TipBulletNumber"));
         // 重置Transform属性
         o.transform.SetParent(parentTran);
+        o.GetComponent<TipBulletNumber>().SetOutTipColor(color);
 
         // 获取RectTransform组件
         RectTransform rectTransform = o.GetComponent<RectTransform>();

+ 8 - 0
Assets/SmartBow/Scripts/Common/TipBulletNumber.cs

@@ -12,6 +12,14 @@ public class TipBulletNumber : MonoBehaviour
         yield return new WaitForSecondsRealtime(3.0f);
         Destroy(this.gameObject);
     }
+
+    /// <summary>
+    /// ÉčÖĂ×ÖĚĺŃŐÉŤ
+    /// </summary>
+    /// <param name="color"></param>
+    public void SetOutTipColor(Color color) {
+        outText.color = color;
+    }
 }
 
    

+ 7 - 0
Assets/SmartBow/Scripts/Views/GameResultView.cs

@@ -12,6 +12,9 @@ public class GameResultView : MonoBehaviour
     [SerializeField] Text second;
     [SerializeField] Text shootCount;
     [SerializeField] Text calories;
+
+    [SerializeField] GameObject ArrowInfo;
+    [SerializeField] GameObject GunInfo;
     // Start is called before the first frame update
 
     public Action OnBackClicked;
@@ -45,9 +48,13 @@ public class GameResultView : MonoBehaviour
         // 0.444/2.22=0.2 ǹ=0.444*0.2 = 0.0888£»
         if (GlobalData.MyDeviceMode == DeviceMode.Gun)
         {
+            ArrowInfo.SetActive(false);
+            GunInfo.SetActive(true);
             this.calories.text = (shootCount * 0.0888f).ToString();
         }
         else {
+            ArrowInfo.SetActive(true);
+            GunInfo.SetActive(false);
             this.calories.text = (shootCount * 0.444f).ToString();
         }
        

+ 1 - 1
Assets/SmartBow/SmartBowSDK/BleWinHelper.cs

@@ -28,7 +28,7 @@ namespace SmartBowSDK
         }
 
         private string targetDeviceName = "Bbow_20210501 | ARTEMIS Pro";
-        private string targetDeviceNameHOUYIPro = "HOUYI Pro";
+        private string targetDeviceNameHOUYIPro = "HOUYI Pro | Bbow_20210501";
         private string targetDeviceNameGun = "Pistol | Pistol M9 | Bbow_20210501";
         private string targetService = "{0000fff0-0000-1000-8000-00805f9b34fb}";
         private string targetCharacteristicsNotify = "{0000fff1-0000-1000-8000-00805f9b34fb}";

BIN
Assets/SmartBow/Textures/Game/Gun.png


+ 123 - 0
Assets/SmartBow/Textures/Game/Gun.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 4eae180ce588f9f4f9dcb112bc5fedf0
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.