Explorar el Código

Merge branch 'master' of https://gitee.com/slambb/smart-bow-infrared into insertcoin

17600099689 hace 1 año
padre
commit
d5eae9b099
Se han modificado 97 ficheros con 14630 adiciones y 1421 borrados
  1. 0 0
      Assets/BowArrow/Fonts/HarmonyOS_Sans_SC_Regular SDF.asset
  2. 27 11
      Assets/BowArrow/InfraredCamera/InfraredDemo.cs
  3. 23 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredButton.cs
  4. 11 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredButton.cs.meta
  5. 82 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.cs
  6. 297 301
      Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.prefab
  7. 1 1
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider.cs
  8. 1 1
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider.prefab
  9. 93 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.cs
  10. 11 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.cs.meta
  11. 1823 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.prefab
  12. 7 0
      Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.prefab.meta
  13. 2 1
      Assets/BowArrow/Modules/InfraredGuider/InfraredResolution.prefab
  14. 9 9
      Assets/BowArrow/Modules/NewUserGuider/NewUserGuiderManager.cs
  15. 3 0
      Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceView.prefab
  16. 7708 0
      Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceViewInfrared.prefab
  17. 7 0
      Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceViewInfrared.prefab.meta
  18. 2 1
      Assets/BowArrow/Resources/Prefabs/Views/Home/SmartGunView.prefab
  19. 0 82
      Assets/BowArrow/Scenes/Test.unity
  20. 39 10
      Assets/BowArrow/Scripts/Bluetooth/AimHandler.cs
  21. 7 2
      Assets/BowArrow/Scripts/CommonConfig.cs
  22. 4 1
      Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/cn.json
  23. 4 1
      Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/en.json
  24. 8 0
      Assets/BowArrow/Scripts/Game/Billboard.cs
  25. 8 1
      Assets/BowArrow/Scripts/Game/TargetView.cs
  26. 4 0
      Assets/BowArrow/Scripts/Manager/GameMgr.cs
  27. 1 1
      Assets/BowArrow/Scripts/Manager/HomeMgr.cs
  28. 427 0
      Assets/BowArrow/Scripts/View/Home/DeviceViewInfrared.cs
  29. 11 0
      Assets/BowArrow/Scripts/View/Home/DeviceViewInfrared.cs.meta
  30. 205 241
      Assets/BowArrow/Scripts/View/Home/DeviceView_ItemShow.cs
  31. 1 1
      Assets/BowArrow/Scripts/View/Home/HomeView.cs
  32. 1 1
      Assets/BowArrow/Scripts/View/Home/HomeView_BottomBarView.cs
  33. BIN
      Assets/BowArrow/Textures/Device/iconAdd2P.png
  34. 123 0
      Assets/BowArrow/Textures/Device/iconAdd2P.png.meta
  35. BIN
      Assets/BowArrow/Textures/Device/iconConnect.png
  36. 2 2
      Assets/BowArrow/Textures/Device/iconConnect.png.meta
  37. BIN
      Assets/BowArrow/Textures/Device/iconInfraredScreen.png
  38. 123 0
      Assets/BowArrow/Textures/Device/iconInfraredScreen.png.meta
  39. BIN
      Assets/BowArrow/Textures/Device/iconSwitchDevice.png
  40. 123 0
      Assets/BowArrow/Textures/Device/iconSwitchDevice.png.meta
  41. BIN
      Assets/BowArrow/Textures/Device/iconUnConnect.png
  42. 123 0
      Assets/BowArrow/Textures/Device/iconUnConnect.png.meta
  43. BIN
      Assets/BowArrow/Textures/Device/player_bg.png
  44. 2 2
      Assets/BowArrow/Textures/Device/player_bg.png.meta
  45. BIN
      Assets/BowArrow/Textures/Device/player_bg_select.png
  46. 123 0
      Assets/BowArrow/Textures/Device/player_bg_select.png.meta
  47. 110 62
      Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace01.unity
  48. 110 62
      Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace02.unity
  49. 1 1
      Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace02.unity.meta
  50. 110 62
      Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace03.unity
  51. 1 1
      Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace03.unity.meta
  52. 105 99
      Assets/Game_Hyperspace/Script/Font.cs
  53. 16 6
      Assets/Game_Hyperspace/Script/GeneratingTarget.cs
  54. 12 10
      Assets/Game_Hyperspace/Script/Move.cs
  55. 24 0
      Assets/Game_Hyperspace/Script/ShootingEvent.cs
  56. 1 1
      Assets/Game_Hyperspace/StompyRobot/SRDebugger/Scripts/Settings.cs
  57. 8 0
      Assets/InfraredProject/InfraredCamera/Scripts/InfraredCameraHelper.cs
  58. 1 1
      Assets/InfraredProject/InfraredCamera/Scripts/UVCInterface.cs
  59. BIN
      Assets/InfraredProject/WebCamera/Image/测试图片.png
  60. 1 3
      Assets/InfraredProject/WebCamera/Script/ZIM/InfraredLocate/InfraredLocate.cs
  61. 8 2
      Assets/InfraredProject/WebCamera/Script/ZIM/InfraredLocate/LineIdentified.cs
  62. 267 176
      Assets/InfraredProject/WebCamera/Script/ZIM/InfraredLocate/ScreenIdentification.cs
  63. 4 0
      Assets/InfraredProject/WebCamera/Script/ZIM/Other/OrdinalQuadrilateral.cs
  64. 8 0
      Assets/InfraredProject/WebCamera/Script/ZIM/Other/QuadrilateralInCamera.cs
  65. 72 42
      Assets/InfraredProject/WebCamera/Script/ZIM/ScreenLocate.cs
  66. 29 1
      Assets/InfraredProject/WebCamera/Script/ZIM/ZIMUnity/Extension.cs
  67. 9 5
      Assets/InfraredProject/WebCamera/Script/ZIM/o0Extension/o0Extension.cs
  68. 726 61
      Assets/InfraredProject/WebCamera/zimWebCamera.unity
  69. 2 2
      Assets/InfraredProject/o0/zimIdentifyLineLSD.cs
  70. 1 0
      Assets/SmartBow/Resources/Common/BulletManager_Fruit.prefab
  71. 4 4
      Assets/SmartBow/Resources/Common/TipBulletNumber.prefab
  72. 153 7
      Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/ConnectGuidanceView.prefab
  73. 198 72
      Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/InfraredScreenPositioningView.prefab
  74. 289 16
      Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/InfraredView.prefab
  75. 1 0
      Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/SettingsView.prefab
  76. 27 17
      Assets/SmartBow/Resources/SmartBow/Prefabs/ZIM/PixelCheaker.cs
  77. 21 5
      Assets/SmartBow/Scripts/Common/BulletManager.cs
  78. 2 0
      Assets/SmartBow/Scripts/Common/TipBulletNumber.cs
  79. 50 0
      Assets/SmartBow/Scripts/Views/ConnectGuidanceView.cs
  80. 10 1
      Assets/SmartBow/Scripts/Views/GameResultView.cs
  81. 59 12
      Assets/SmartBow/Scripts/Views/InfraredViewParts/InfraredScreenPositioningView.cs
  82. 87 1
      Assets/SmartBow/Scripts/Views/InfraredViewParts/Line.cs
  83. 13 1
      Assets/SmartBow/Scripts/Views/SettingsView.cs
  84. 14 3
      Assets/SmartBow/Scripts/Views/SettingsViewParts/BoxLevel.cs
  85. BIN
      Assets/SmartBow/Textures/Guidance/Infrared/GraduatedScale/slider.png
  86. 123 0
      Assets/SmartBow/Textures/Guidance/Infrared/GraduatedScale/slider.png.meta
  87. BIN
      Assets/SmartBow/Textures/Guidance/Infrared/left-down.png
  88. 123 0
      Assets/SmartBow/Textures/Guidance/Infrared/left-down.png.meta
  89. BIN
      Assets/SmartBow/Textures/Guidance/Infrared/left-up.png
  90. 123 0
      Assets/SmartBow/Textures/Guidance/Infrared/left-up.png.meta
  91. BIN
      Assets/SmartBow/Textures/Guidance/Infrared/right-down.png
  92. 123 0
      Assets/SmartBow/Textures/Guidance/Infrared/right-down.png.meta
  93. BIN
      Assets/SmartBow/Textures/Guidance/Infrared/right_up.png
  94. 123 0
      Assets/SmartBow/Textures/Guidance/Infrared/right_up.png.meta
  95. 10 10
      Packages/packages-lock.json
  96. 3 3
      ProjectSettings/PackageManagerSettings.asset
  97. 2 2
      ProjectSettings/ProjectSettings.asset

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
Assets/BowArrow/Fonts/HarmonyOS_Sans_SC_Regular SDF.asset


+ 27 - 11
Assets/BowArrow/InfraredCamera/InfraredDemo.cs

@@ -999,7 +999,14 @@ public class InfraredDemo : MonoBehaviour
 
 
     }
-  
+    /// <summary>
+    /// 重置中心点
+    /// </summary>
+    public void ResetCenterOffset() {
+        infraredCameraHelper.ResetCenterOffset();
+    }
+
+
 
     void SetCaptureValue(float v)
     {
@@ -1015,17 +1022,25 @@ public class InfraredDemo : MonoBehaviour
         _sliderDelay.transform.Find("Value").GetComponent<Text>().text = delayValue.Get().ToString("f1");
         infraredCameraHelper.SetDelay((int)delayValue.Get());
     }
-#endregion
+    #endregion
 
 
-#region 相机感光度(默认修改对比度)
-    public void onSetSliderValue(Slider _slider,string typeStr = "PU_CONTRAST")
+    #region 相机感光度(默认修改对比度)
+    public void onSetSliderCustomValue(Slider _slider, float min = 0.0f, float max = 10.0f)
+    {
+        onSetSliderValue(_slider, "PU_CONTRAST", min, max);
+    }
+    public void onSliderCustomEvent(float value, float min = 0.0f, float max = 10.0f)
+    {
+        onSliderEvent(value, "PU_CONTRAST", min, max);
+    }
+    public void onSetSliderValue(Slider _slider,string typeStr = "PU_CONTRAST", float min = 0.0f, float max = 10.0f)
     {
         if (BluetoothWindows.IsWindows()) {
             float v = typeStr == "PU_CONTRAST"?infraredCameraHelper.GetContrast(): infraredCameraHelper.GetBrightness();
             // 目标区间 [0, 10] 的边界值
-            double targetMin = 0.0;
-            double targetMax = 10.0;
+            double targetMin = min;
+            double targetMax = max;
             double originalMin = -1;
             double originalMax = 1;
             // 计算转换后的值
@@ -1058,7 +1073,8 @@ public class InfraredDemo : MonoBehaviour
         }
         else _slider.SetValueWithoutNotify(5);
     }
-    public void onSliderEvent(float value, string typeStr = "PU_CONTRAST")
+   
+    public void onSliderEvent(float value, string typeStr = "PU_CONTRAST", float min = 0.0f,float max = 10.0f)
     {
        // string typeStr = "PU_CONTRAST";// "PU_BRIGHTNESS";
         //pc
@@ -1068,8 +1084,8 @@ public class InfraredDemo : MonoBehaviour
             Slider slider = trans.GetComponent<Slider>();
             Text textObj = trans.Find("text").GetComponent<Text>();
             // 原始区间和目标区间的边界值
-            double originalMin = 0.0;
-            double originalMax = 10.0;
+            double originalMin = min;
+            double originalMax = max;
             double targetMin = -1;
             double targetMax = 1;
             // 计算转换后的值
@@ -1108,8 +1124,8 @@ public class InfraredDemo : MonoBehaviour
             int _currentUVCValue = currentCameraInfo.GetValue(typeStr);
             //value 0 ~ 10
             // 原始区间和目标区间的边界值
-            double originalMin = 0.0;
-            double originalMax = 10.0;
+            double originalMin = min;
+            double originalMax = max;
             double targetMin = _UVCCtrlInfo.min;
             double targetMax = _UVCCtrlInfo.max;
             // 计算转换后的值

+ 23 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredButton.cs

@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class InfraredButton : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    public void CollisionButtonEvent() {
+        Debug.Log("CollisionButtonEvent");
+        transform.parent.gameObject.SetActive(false);
+    }
+}

+ 11 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredButton.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2a090a296f3aedc4abccebea2a012d86
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 82 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.cs

@@ -6,6 +6,7 @@ using UnityEngine.UI;
 public class InfraredGuider : MonoBehaviour
 {
     public GameObject infraredLightGuider;
+    public GameObject infraredLightGuider2;
     public GameObject infraredResulutionGuider;
     public Button resulutionButton;
 
@@ -13,9 +14,19 @@ public class InfraredGuider : MonoBehaviour
     public GameObject Title1;
     public GameObject Title2;
 
+    public int collisionCount = 0;
+    bool bRemove = false;
+
     //相机感光部分
     [SerializeField]
     Slider slider;
+
+    [Tooltip("异常校准时候步骤1")]
+    public GameObject Step1;
+    [Tooltip("正常游戏流程步骤2")]
+    public GameObject Step2;
+    [Tooltip("异常问题时候文字提示步骤1")]
+    public GameObject Step3;
     // Start is called before the first frame update
     void Start()
     {
@@ -82,5 +93,76 @@ public class InfraredGuider : MonoBehaviour
         Title2.SetActive(true) ;
     }
 
+    /// <summary>
+    /// 进入相机感光度的页面
+    /// </summary>
+    public void enterInfraredLightGuider2()
+    {
+#if UNITY_ANDROID
+        Instantiate(infraredLightGuider2);
+#endif
+    }
+
+    /// <summary>
+    /// 异常问题处理时候的文字提示步骤
+    /// </summary>
+    public void OnStep3TextTip()
+    {
+
+        if (Step1.activeSelf && !bRemove)
+        {
+            bRemove = true;
+            StartCoroutine(delaySet());
+        }
+        Step1.SetActive(false);
+        Step2.SetActive(false);
+        Step3.SetActive(true);
+    }
+
+    /// <summary>
+    /// 射击页面测试显示
+    /// </summary>
+    public void OnStep2ShootTest()
+    {
+        Debug.Log("OnStep2ShootTest hui 1:" + Step1.activeSelf + " = " + bRemove);
+        if (Step1.activeSelf && !bRemove)
+        {
+            bRemove = true;
+            StartCoroutine(delaySet());
+            Debug.Log("OnStep2ShootTest delaySet:" + Step1.activeSelf + " = " + bRemove);
+        }
+        Step1.SetActive(false);
+        Step2.SetActive(true);
+        Step3.SetActive(false);
+
+    
+    }
+    IEnumerator delaySet() {
+  
+        yield return new WaitForSeconds(0.5f);
+        SimulateMouseController.ins?.RemoveOpenLocker(this);
+    }
+    public void SetCollisionEvent() {
+        if (collisionCount < 3)
+        {
+            collisionCount++;
+        }
+        else {
+            //进入下一步
+            OnStep2ShootTest();
+        }
+        
+    }
+
+
+    void OnEnable()
+    {
+        SimulateMouseController.ins?.AddOpenLocker(this);
 
+    }
+
+    void OnDisable()
+    {
+       
+    }
 }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 297 - 301
Assets/BowArrow/Modules/InfraredGuider/InfraredGuider.prefab


+ 1 - 1
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider.cs

@@ -7,7 +7,7 @@ using ZIM;
 using ZIM.Unity;
 
 //处理光源检测部分
-public class InfraredLightGuider : MonoBehaviour
+public class InfraredLightGuider2 : MonoBehaviour
 {
     [SerializeField]
     RawImage rawImage;

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

@@ -814,7 +814,7 @@ Canvas:
   m_VertexColorAlwaysGammaSpace: 0
   m_AdditionalShaderChannelsFlag: 0
   m_SortingLayerID: 0
-  m_SortingOrder: 1
+  m_SortingOrder: 100
   m_TargetDisplay: 0
 --- !u!114 &3835120308163295944
 MonoBehaviour:

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

@@ -0,0 +1,93 @@
+using InfraredManager;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using ZIM;
+using ZIM.Unity;
+
+//处理光源检测部分
+public class InfraredLightGuider : MonoBehaviour
+{
+    [SerializeField]
+    RawImage rawImage;
+    //相机感光部分
+    [SerializeField]
+    Slider slider;
+
+    [SerializeField] List<RectTransform> _crosshairsInCamera;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        if (InfraredDemo._ins)
+        {
+            slider.onValueChanged.AddListener((value) =>
+            {
+                InfraredDemo._ins.onSliderCustomEvent(value,-20.0f,20.0f);
+            });
+            InfraredDemo._ins.onSetSliderCustomValue(slider,- 20.0f, 20.0f);
+
+            SetLocatePointsToCameraRender(ScreenLocate.quadUnityVectorList,1,1);
+        }
+    }
+
+    void Update()
+    {
+        if (InfraredDemo.running)
+        {
+            //渲染相机画面
+            //渲染相机画面
+            Texture texture = InfraredDemo.infraredCameraHelper.GetCameraTexture();
+
+            if (rawImage.texture == null || texture.GetNativeTexturePtr() != rawImage.texture.GetNativeTexturePtr())
+                rawImage.texture = texture;
+
+            //rawImage.material = InfraredDemo.infraredCameraHelper.GetCameraMaterial();
+            //在相机画面显示准心
+            if (ScreenLocate.Main)
+            {
+                var _sl = ScreenLocate.Main;
+                var buffer = _sl.infraredSpotBuffer;
+                if (buffer != null)
+                {
+                    for (int i = 0; i < buffer.Length; i++)
+                    {
+                        if (buffer[i].CameraLocation != null)
+                        {
+                            //添加一个偏移量,使得最后输出的准心是指向正中心
+                            Vector2 newPoint2 = _sl.GetOffsetCameraLocation(buffer[i].CameraLocation.Value);
+                            // 检测到光点
+                            var pos = newPoint2.pixelToLocalPosition_AnchorCenter(_sl.mUVCCameraInfo.Size, rawImage.rectTransform.rect);
+                            _crosshairsInCamera[i].gameObject.SetActive(true);
+                            _crosshairsInCamera[i].anchoredPosition = pos;
+
+                        }
+                        else
+                            _crosshairsInCamera[i].gameObject.SetActive(false);
+                    }
+                }
+
+            }
+        }
+    }
+    public void SetLocatePointsToCameraRender(List<Vector2> points, float w, float h)
+    {
+        Transform pointsTF2 = rawImage.transform.Find("Points");
+
+        if (pointsTF2.childCount == points.Count)
+        {
+            Vector2 texSize = new Vector2(w, h);
+            for (int i = 0; i < pointsTF2.childCount; i++)
+            {
+                Transform pointTF = pointsTF2.GetChild(i);
+                Vector2 pos = points[i];
+                pointTF.localPosition = pos.pixelToLocalPosition_AnchorCenter(texSize, rawImage.rectTransform.rect);
+                pointTF.gameObject.SetActive(true);
+            }
+        }
+    }
+    public void Close() {
+        Destroy(gameObject);
+    }
+}

+ 11 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 68d02f49a18e247488da2fbebf184073
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1823 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.prefab

@@ -0,0 +1,1823 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &707094956905277105
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5724626160741069836}
+  - component: {fileID: 2873536522866629341}
+  - component: {fileID: 2911060005990326144}
+  m_Layer: 5
+  m_Name: cameraImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5724626160741069836
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 707094956905277105}
+  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: 9002826192918443814}
+  - {fileID: 6641325340020118199}
+  m_Father: {fileID: 3835120308163295950}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2873536522866629341
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 707094956905277105}
+  m_CullTransparentMesh: 1
+--- !u!114 &2911060005990326144
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 707094956905277105}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &780253648648465007
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5546502235475850231}
+  - component: {fileID: 3001701286983933858}
+  - component: {fileID: 3597647526147557788}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5546502235475850231
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 780253648648465007}
+  m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3983491469643240657}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 63.39, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3001701286983933858
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 780253648648465007}
+  m_CullTransparentMesh: 1
+--- !u!114 &3597647526147557788
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 780253648648465007}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: bdd3b36fd80b3d74b89b324ae91572ad, 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 &954112988353855232
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3828647683630594919}
+  - component: {fileID: 6932389852952640046}
+  m_Layer: 5
+  m_Name: Slider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3828647683630594919
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954112988353855232}
+  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: 363131247624507831}
+  - {fileID: 6957671335679250492}
+  - {fileID: 3983491469643240657}
+  m_Father: {fileID: 5017439069372811040}
+  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: 0.6252, y: -90}
+  m_SizeDelta: {x: 1301.4, y: 60}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &6932389852952640046
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954112988353855232}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 3597647526147557788}
+  m_FillRect: {fileID: 1235459866155883419}
+  m_HandleRect: {fileID: 5546502235475850231}
+  m_Direction: 1
+  m_MinValue: 0
+  m_MaxValue: 10
+  m_WholeNumbers: 0
+  m_Value: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &2099194137982326216
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8078370538778699102}
+  - component: {fileID: 2665963947307189207}
+  - component: {fileID: 6785478265206233673}
+  m_Layer: 5
+  m_Name: Text (Legacy)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8078370538778699102
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2099194137982326216}
+  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: 6723988809364982055}
+  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_SizeDelta: {x: 1000, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2665963947307189207
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2099194137982326216}
+  m_CullTransparentMesh: 1
+--- !u!114 &6785478265206233673
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2099194137982326216}
+  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: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 40
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 1
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: -------------------------------------------------
+--- !u!1 &2374074340420753458
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 363131247624507831}
+  - component: {fileID: 3351038931651342925}
+  - component: {fileID: 614026136477958218}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &363131247624507831
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2374074340420753458}
+  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: 3828647683630594919}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3351038931651342925
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2374074340420753458}
+  m_CullTransparentMesh: 1
+--- !u!114 &614026136477958218
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2374074340420753458}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &2407522307905110714
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 470184680313210048}
+  - component: {fileID: 2882778098728877632}
+  - component: {fileID: 595295659124359091}
+  m_Layer: 5
+  m_Name: Point (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &470184680313210048
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2407522307905110714}
+  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: 9002826192918443814}
+  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: 0, y: 0}
+  m_SizeDelta: {x: 50, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2882778098728877632
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2407522307905110714}
+  m_CullTransparentMesh: 1
+--- !u!114 &595295659124359091
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2407522307905110714}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.009995077, b: 0, 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_Texture: {fileID: 10912, guid: 0000000000000000f000000000000000, type: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &2501643628980968785
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6641325340020118199}
+  m_Layer: 5
+  m_Name: CrossHairs
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6641325340020118199
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2501643628980968785}
+  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: 6814174719471736834}
+  - {fileID: 5312630150959592296}
+  m_Father: {fileID: 5724626160741069836}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &2525714778356462129
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5312630150959592296}
+  - component: {fileID: 4620484924230370566}
+  - component: {fileID: 9073254263568560840}
+  m_Layer: 5
+  m_Name: Green
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &5312630150959592296
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2525714778356462129}
+  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: 6641325340020118199}
+  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: 0, y: 0}
+  m_SizeDelta: {x: 150, y: 150}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4620484924230370566
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2525714778356462129}
+  m_CullTransparentMesh: 1
+--- !u!114 &9073254263568560840
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2525714778356462129}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 1, b: 0, a: 0.89411765}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 2800000, guid: 24d1e577dc42aaf4ba6e64be26be3845, type: 3}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &2531086782091359564
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1620113791676567164}
+  - component: {fileID: 5387775683409949425}
+  - component: {fileID: 8356330090887737821}
+  m_Layer: 5
+  m_Name: Text (Legacy) (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1620113791676567164
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2531086782091359564}
+  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: 6723988809364982055}
+  m_RootOrder: 2
+  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_SizeDelta: {x: 100, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5387775683409949425
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2531086782091359564}
+  m_CullTransparentMesh: 1
+--- !u!114 &8356330090887737821
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 40
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 1
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "\u4EAE"
+--- !u!1 &2951423468958899145
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7485550831753071925}
+  - component: {fileID: 5094812479432042104}
+  - component: {fileID: 1654345014147801544}
+  m_Layer: 5
+  m_Name: Text (Legacy) (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7485550831753071925
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2951423468958899145}
+  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: 6723988809364982055}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 100, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5094812479432042104
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2951423468958899145}
+  m_CullTransparentMesh: 1
+--- !u!114 &1654345014147801544
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 40
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 1
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "\u6697"
+--- !u!1 &3316149295125559177
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8436915684107413322}
+  - component: {fileID: 3135809894184630842}
+  - component: {fileID: 5825446238783178651}
+  - component: {fileID: 6524852190838108507}
+  m_Layer: 5
+  m_Name: Text (Legacy)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8436915684107413322
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3316149295125559177}
+  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: 5060808032186845926}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3135809894184630842
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3316149295125559177}
+  m_CullTransparentMesh: 1
+--- !u!114 &5825446238783178651
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3316149295125559177}
+  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.8980392, g: 0.09019608, b: 0.4, 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: 30
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5C04\u51FB\u6D4B\u8BD5"
+--- !u!114 &6524852190838108507
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3316149295125559177}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: ShootingTest
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
+--- !u!1 &3835120308163295946
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3835120308163295950}
+  - component: {fileID: 3835120308163295951}
+  - component: {fileID: 3835120308163295944}
+  - component: {fileID: 3835120308163295945}
+  - component: {fileID: 4561285442272152754}
+  m_Layer: 5
+  m_Name: InfraredLightGuider2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3835120308163295950
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3835120308163295946}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 5724626160741069836}
+  - {fileID: 5017439069372811040}
+  - {fileID: 6293142885012681023}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!223 &3835120308163295951
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3835120308163295946}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 101
+  m_TargetDisplay: 0
+--- !u!114 &3835120308163295944
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3835120308163295946}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 2352, y: 1170}
+  m_ScreenMatchMode: 1
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!114 &3835120308163295945
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3835120308163295946}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &4561285442272152754
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3835120308163295946}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 68d02f49a18e247488da2fbebf184073, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  rawImage: {fileID: 2911060005990326144}
+  slider: {fileID: 6932389852952640046}
+  _crosshairsInCamera:
+  - {fileID: 6814174719471736834}
+  - {fileID: 5312630150959592296}
+--- !u!1 &3958523482832117442
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5017439069372811040}
+  m_Layer: 5
+  m_Name: camera_light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5017439069372811040
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3958523482832117442}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -0.698}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7640314608402094272}
+  - {fileID: 3828647683630594919}
+  - {fileID: 6723988809364982055}
+  m_Father: {fileID: 3835120308163295950}
+  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: 0, y: 0}
+  m_SizeDelta: {x: 2000, y: 958.853}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &4032870592230521222
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6957671335679250492}
+  m_Layer: 5
+  m_Name: Fill Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6957671335679250492
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4032870592230521222}
+  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: 1235459866155883419}
+  m_Father: {fileID: 3828647683630594919}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 5, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &4604881960620407814
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6814174719471736834}
+  - component: {fileID: 7382558050138234794}
+  - component: {fileID: 8684843088789953180}
+  m_Layer: 5
+  m_Name: Red
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &6814174719471736834
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4604881960620407814}
+  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: 6641325340020118199}
+  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, y: 0}
+  m_SizeDelta: {x: 150, y: 150}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7382558050138234794
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4604881960620407814}
+  m_CullTransparentMesh: 1
+--- !u!114 &8684843088789953180
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4604881960620407814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0, b: 0, 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_Texture: {fileID: 2800000, guid: 24d1e577dc42aaf4ba6e64be26be3845, type: 3}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &5448342751224532012
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7147272142456849636}
+  - component: {fileID: 7218611814135884023}
+  - component: {fileID: 1973254950290638784}
+  m_Layer: 5
+  m_Name: Point (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &7147272142456849636
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5448342751224532012}
+  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: 9002826192918443814}
+  m_RootOrder: 3
+  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: 50, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7218611814135884023
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5448342751224532012}
+  m_CullTransparentMesh: 1
+--- !u!114 &1973254950290638784
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5448342751224532012}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.009995077, b: 0, 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_Texture: {fileID: 10912, guid: 0000000000000000f000000000000000, type: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &5580728531082366755
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6293142885012681023}
+  - component: {fileID: 8074554273402571161}
+  m_Layer: 5
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6293142885012681023
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5580728531082366755}
+  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: 5060808032186845926}
+  m_Father: {fileID: 3835120308163295950}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -86.5, y: -65.88}
+  m_SizeDelta: {x: 442, y: 100}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &8074554273402571161
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5580728531082366755}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &5658343117827196938
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7640314608402094272}
+  - component: {fileID: 232851129290708267}
+  - component: {fileID: 1942731150145614582}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7640314608402094272
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5658343117827196938}
+  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: 5017439069372811040}
+  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, y: 0}
+  m_SizeDelta: {x: 2352, y: 1170}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &232851129290708267
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5658343117827196938}
+  m_CullTransparentMesh: 1
+--- !u!114 &1942731150145614582
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5658343117827196938}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3b6c9f49fb0ce8449b5bdc6b6b9cc03d, 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 &6832145524912600231
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 9002826192918443814}
+  m_Layer: 5
+  m_Name: Points
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &9002826192918443814
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6832145524912600231}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -0.698}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 578423676241934885}
+  - {fileID: 470184680313210048}
+  - {fileID: 7564833180580038905}
+  - {fileID: 7147272142456849636}
+  m_Father: {fileID: 5724626160741069836}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6894981870828105841
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7564833180580038905}
+  - component: {fileID: 3579072558505763323}
+  - component: {fileID: 5631213759293933097}
+  m_Layer: 5
+  m_Name: Point (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &7564833180580038905
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6894981870828105841}
+  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: 9002826192918443814}
+  m_RootOrder: 2
+  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: 50, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3579072558505763323
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6894981870828105841}
+  m_CullTransparentMesh: 1
+--- !u!114 &5631213759293933097
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6894981870828105841}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.009995077, b: 0, 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_Texture: {fileID: 10912, guid: 0000000000000000f000000000000000, type: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &7024036429895728779
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1235459866155883419}
+  - component: {fileID: 7651156464647194540}
+  - component: {fileID: 7261681374589077116}
+  m_Layer: 5
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1235459866155883419
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7024036429895728779}
+  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: 6957671335679250492}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 10, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7651156464647194540
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7024036429895728779}
+  m_CullTransparentMesh: 1
+--- !u!114 &7261681374589077116
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7024036429895728779}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &7509198815190846628
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 578423676241934885}
+  - component: {fileID: 16136355741906529}
+  - component: {fileID: 2883465955701535861}
+  m_Layer: 5
+  m_Name: Point
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &578423676241934885
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509198815190846628}
+  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: 9002826192918443814}
+  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, y: 0}
+  m_SizeDelta: {x: 50, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &16136355741906529
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509198815190846628}
+  m_CullTransparentMesh: 1
+--- !u!114 &2883465955701535861
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7509198815190846628}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.009995077, b: 0, 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_Texture: {fileID: 10912, guid: 0000000000000000f000000000000000, type: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &7797818688764827461
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3983491469643240657}
+  m_Layer: 5
+  m_Name: Handle Slide Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3983491469643240657
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7797818688764827461}
+  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: 5546502235475850231}
+  m_Father: {fileID: 3828647683630594919}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &8239322459456642322
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5060808032186845926}
+  - component: {fileID: 5172983043921543757}
+  - component: {fileID: 2369417023530374458}
+  - component: {fileID: 4220778163391383573}
+  m_Layer: 5
+  m_Name: Button (Legacy) (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5060808032186845926
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8239322459456642322}
+  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: 8436915684107413322}
+  m_Father: {fileID: 6293142885012681023}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 300, y: 94.6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5172983043921543757
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8239322459456642322}
+  m_CullTransparentMesh: 1
+--- !u!114 &2369417023530374458
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8239322459456642322}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 03062637a2772c94b9393611719566c6, 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
+--- !u!114 &4220778163391383573
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8239322459456642322}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 2369417023530374458}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 4561285442272152754}
+        m_TargetAssemblyTypeName: InfraredLightGuider2, Assembly-CSharp
+        m_MethodName: Close
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &8786312483137330051
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6723988809364982055}
+  - component: {fileID: 7210086039866210060}
+  m_Layer: 5
+  m_Name: Tip
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6723988809364982055
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8786312483137330051}
+  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: 7485550831753071925}
+  - {fileID: 8078370538778699102}
+  - {fileID: 1620113791676567164}
+  m_Father: {fileID: 5017439069372811040}
+  m_RootOrder: 2
+  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: -187}
+  m_SizeDelta: {x: 1301.4, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &7210086039866210060
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8786312483137330051}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0

+ 7 - 0
Assets/BowArrow/Modules/InfraredGuider/InfraredLightGuider2.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 449a40c80980a504b93b64159895b4f7
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 1
Assets/BowArrow/Modules/InfraredGuider/InfraredResolution.prefab

@@ -829,9 +829,10 @@ Canvas:
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
   m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
   m_AdditionalShaderChannelsFlag: 0
   m_SortingLayerID: 0
-  m_SortingOrder: 1
+  m_SortingOrder: 102
   m_TargetDisplay: 0
 --- !u!114 &3835120308163295944
 MonoBehaviour:

+ 9 - 9
Assets/BowArrow/Modules/NewUserGuider/NewUserGuiderManager.cs

@@ -198,13 +198,13 @@ public class NewUserGuiderManager : MonoBehaviour
         config.key = "设备-陀螺仪校准";
         config.frameTipPivot = "rt";
         config.onPrepare = (g) => {
-            if (!DeviceView.ins) {
+            if (!DeviceViewInfrared.ins) {
                 g.customPreparePass = false;
                 return;
             }
             g.customPreparePass = true;
 
-            RectTransform btn = DeviceView.ins.transform.Find("ItemInfo/BowOptions/GyrCalibrate") as RectTransform;
+            RectTransform btn = DeviceViewInfrared.ins.transform.Find("ItemInfo/BowOptions/GyrCalibrate") as RectTransform;
             g.hollowOutMask.SetTarget(btn);
             // g.hollowOutMask.isTargetRectCanThrough = false;
             g.SetIconPointerHitOpacity(0.8f);
@@ -220,8 +220,8 @@ public class NewUserGuiderManager : MonoBehaviour
                 g.clickedWillPlayAudioBtn = false;
                 g.OnClick_ToNext();
             };
-            DeviceView.ins.action_OnClickGyr += onclickTarget;
-            g.action_OnDestroy += () => DeviceView.ins.action_OnClickGyr -= onclickTarget;
+            DeviceViewInfrared.ins.action_OnClickGyr += onclickTarget;
+            g.action_OnDestroy += () => DeviceViewInfrared.ins.action_OnClickGyr -= onclickTarget;
 
             //渲染模型
             RectTransform md = g.transform.Find("ImageRenderModule") as RectTransform;
@@ -302,13 +302,13 @@ public class NewUserGuiderManager : MonoBehaviour
         config.key = "设备-地磁计校准";
         config.frameTipPivot = "rb";
         config.onPrepare = (g) => {
-            if (!DeviceView.ins) {
+            if (!DeviceViewInfrared.ins) {
                 g.customPreparePass = false;
                 return;
             }
             g.customPreparePass = true;
 
-            RectTransform btn = DeviceView.ins.transform.Find("ItemInfo/BowOptions/MagCalibrate") as RectTransform;
+            RectTransform btn = DeviceViewInfrared.ins.transform.Find("ItemInfo/BowOptions/MagCalibrate") as RectTransform;
             g.hollowOutMask.SetTarget(btn);
             // g.hollowOutMask.isTargetRectCanThrough = false;
             g.SetIconPointerHitOpacity(0.8f);
@@ -325,8 +325,8 @@ public class NewUserGuiderManager : MonoBehaviour
                 g.clickedWillPlayAudioBtn = false;
                 g.OnClick_ToNext();
             };
-            DeviceView.ins.action_OnClickMag += onclickTarget;
-            g.action_OnDestroy += () => DeviceView.ins.action_OnClickMag -= onclickTarget;
+            DeviceViewInfrared.ins.action_OnClickMag += onclickTarget;
+            g.action_OnDestroy += () => DeviceViewInfrared.ins.action_OnClickMag -= onclickTarget;
 
             //渲染模型
             RectTransform md = g.transform.Find("ImageRenderModule") as RectTransform;
@@ -401,7 +401,7 @@ public class NewUserGuiderManager : MonoBehaviour
         config.onStart = (g) => {
             g.GetMaskClickedEvent().RemoveAllListeners();
             Action operateFinished = () => {
-                FindObjectOfType<DeviceView>()?.OnClick_Back();
+                FindObjectOfType<DeviceViewInfrared>()?.OnClick_Back();
                 g.clickedWillPlayAudioBtn = false;
                 g.OnClick_ToNext();
             };

+ 3 - 0
Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceView.prefab

@@ -635,6 +635,7 @@ MonoBehaviour:
   - {fileID: 21300000, guid: 325a9596a2f8fef4aadb1bb4d87f10e0, type: 3}
   process: {fileID: 6129637075560161983}
   connected: {fileID: 4403249574185589017}
+  unConnected: {fileID: 0}
   titleText: {fileID: 2987289437974676634}
   statusText: {fileID: 4257527137690726779}
   initStatus: {fileID: 5147671407072463914}
@@ -1452,6 +1453,7 @@ MonoBehaviour:
   - {fileID: 21300000, guid: 325a9596a2f8fef4aadb1bb4d87f10e0, type: 3}
   process: {fileID: 479991670806837720}
   connected: {fileID: 6655771888343105735}
+  unConnected: {fileID: 0}
   titleText: {fileID: 2982113521795620369}
   statusText: {fileID: 6365139638093466434}
   initStatus: {fileID: 3283325883709285787}
@@ -6456,6 +6458,7 @@ Canvas:
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
   m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
   m_AdditionalShaderChannelsFlag: 0
   m_SortingLayerID: 0
   m_SortingOrder: 1

+ 7708 - 0
Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceViewInfrared.prefab

@@ -0,0 +1,7708 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &303587804415348576
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8505179751994062504}
+  - component: {fileID: 4327481153495117696}
+  m_Layer: 5
+  m_Name: battery
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8505179751994062504
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 303587804415348576}
+  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: 3619835083296943932}
+  - {fileID: 1708767829829243884}
+  m_Father: {fileID: 5756235976269569222}
+  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: 427.5, y: -14}
+  m_SizeDelta: {x: 285, y: 28}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4327481153495117696
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 303587804415348576}
+  m_CullTransparentMesh: 1
+--- !u!1 &366910739455901103
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8809921120636371870}
+  - component: {fileID: 2753080190861752840}
+  m_Layer: 5
+  m_Name: bottom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8809921120636371870
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 366910739455901103}
+  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: 8748957870701941239}
+  - {fileID: 3319966071402702626}
+  m_Father: {fileID: 2624584339530074265}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -187}
+  m_SizeDelta: {x: 0, y: 183}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &2753080190861752840
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 366910739455901103}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 40
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 1
+  m_ChildScaleHeight: 1
+  m_ReverseArrangement: 0
+--- !u!1 &381174617298327337
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4881032139879018791}
+  - component: {fileID: 467370886320402337}
+  - component: {fileID: 7863922976322672898}
+  - component: {fileID: 6763694031977372255}
+  m_Layer: 5
+  m_Name: Button (Legacy)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &4881032139879018791
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 381174617298327337}
+  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: 8566800472234978565}
+  m_Father: {fileID: 8677266362471276963}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 55, y: 460}
+  m_SizeDelta: {x: 303.35, y: 187.002}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &467370886320402337
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 381174617298327337}
+  m_CullTransparentMesh: 1
+--- !u!114 &7863922976322672898
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 381174617298327337}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &6763694031977372255
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 381174617298327337}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 7863922976322672898}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: DeviceView, Assembly-CSharp
+        m_MethodName: onTestClear
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &385579827520165080
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4124505392989978468}
+  - component: {fileID: 3178871609471491117}
+  - component: {fileID: 4434995619077324622}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4124505392989978468
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385579827520165080}
+  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: 2318883860350481699}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 40, y: -39}
+  m_SizeDelta: {x: -80, y: 38}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &3178871609471491117
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385579827520165080}
+  m_CullTransparentMesh: 1
+--- !u!114 &4434995619077324622
+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: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "2P  \u6211\u7684WONDERFITTER \u8BBE\u5907"
+--- !u!1 &497525829943393009
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5451191539135806006}
+  - component: {fileID: 475354049885480237}
+  - component: {fileID: 1909583778616930680}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5451191539135806006
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 497525829943393009}
+  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: 3831481266065365646}
+  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: 310, y: -653.5}
+  m_SizeDelta: {x: 570, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &475354049885480237
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 497525829943393009}
+  m_CullTransparentMesh: 1
+--- !u!114 &1909583778616930680
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 497525829943393009}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 50
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 64
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "\u672A\u8FDE\u63A5"
+--- !u!1 &932955428787593421
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7295578844967136960}
+  - component: {fileID: 6180209457509167100}
+  - component: {fileID: 1554904820333096697}
+  m_Layer: 5
+  m_Name: ItemShow_P1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7295578844967136960
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 932955428787593421}
+  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: 1628304907894467676}
+  - {fileID: 7901305513344034106}
+  - {fileID: 7128883194241000184}
+  - {fileID: 2624584339530074265}
+  - {fileID: 1922190892495397972}
+  m_Father: {fileID: 4242660785307798858}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 620, y: 750}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6180209457509167100
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 932955428787593421}
+  m_CullTransparentMesh: 0
+--- !u!114 &1554904820333096697
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 932955428787593421}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e7de75f00c999244185a68cea9e909ac, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  bluetoothPlayer: 0
+  selectPanel: {fileID: 5764882055588109216}
+  btnBg: {fileID: 1050224102309858770}
+  btnConnectBow: {fileID: 0}
+  ConnectButton: {fileID: 0}
+  ConnectButtonImage: {fileID: 0}
+  ConnectButtonImages:
+  - {fileID: 21300000, guid: 8208d205058f5844cbf9d51d8f3303e1, type: 3}
+  - {fileID: 21300000, guid: 325a9596a2f8fef4aadb1bb4d87f10e0, type: 3}
+  process: {fileID: 0}
+  connected: {fileID: 4403249574185589017}
+  unConnected: {fileID: 3468918820746832752}
+  titleText: {fileID: 2987289437974676634}
+  statusText: {fileID: 4257527137690726779}
+  initStatus: {fileID: 0}
+  bettery: {fileID: 5348165849846540021}
+  betteryBar: {fileID: 7890919721642812243}
+  betteryValue: {fileID: 1237404522602998605}
+  pointImage: {fileID: 0}
+  pointImages:
+  - {fileID: 21300000, guid: 143e6edf7abc6fd4d9217dd1393e8235, type: 3}
+  - {fileID: 21300000, guid: 04f6aa1cb60ab0347a3dbc8467995542, type: 3}
+  rectangle: {fileID: 0}
+  rectangles:
+  - {fileID: 21300000, guid: 82428c2fc41f84e4db9e772aa8766f95, type: 3}
+  - {fileID: 21300000, guid: 59277fba691dc8c469644adf39f419b2, type: 3}
+  initStatusText: {fileID: 0}
+  bowBg: {fileID: 5804441909881308529}
+  bowBgs:
+  - {fileID: 21300000, guid: 949e587f5d66ef34991584ba568ec12e, type: 3}
+  - {fileID: 21300000, guid: a49c2ad65ec9d884fb64120238b18f51, type: 3}
+  gunBgs:
+  - {fileID: 21300000, guid: 4083f8e1ca929ce4bb6ec7d9c29c9365, type: 3}
+  _TextAutoLanguage2: {fileID: 4288816417670544630}
+  deviceIndex: 0
+--- !u!1 &1049268609651015207
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8566800472234978565}
+  - component: {fileID: 8198885817103795566}
+  - component: {fileID: 7486805329662897915}
+  m_Layer: 5
+  m_Name: Text (Legacy)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8566800472234978565
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1049268609651015207}
+  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: 4881032139879018791}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -0.00024414062, y: -0.00012207031}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8198885817103795566
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1049268609651015207}
+  m_CullTransparentMesh: 1
+--- !u!114 &7486805329662897915
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1049268609651015207}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 60
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 60
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "\u6E05\u7A7A\u8BB0\u5F55"
+--- !u!1 &1065753119477403899
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5915030507981063082}
+  - component: {fileID: 4278370527868828683}
+  - component: {fileID: 3039750153207580756}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5915030507981063082
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1065753119477403899}
+  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: 4877392670603146603}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 70, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4278370527868828683
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1065753119477403899}
+  m_CullTransparentMesh: 1
+--- !u!114 &3039750153207580756
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1065753119477403899}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: ab63eb7db1cda2c47a9a5bb831dfabca, 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 &1237404522602998605
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3923298730012879095}
+  - component: {fileID: 9102424749539000145}
+  - component: {fileID: 1905949521315575380}
+  m_Layer: 5
+  m_Name: value
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3923298730012879095
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1237404522602998605}
+  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: 4235770052945755040}
+  m_RootOrder: 1
+  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_Pivot: {x: 0, y: 0}
+--- !u!222 &9102424749539000145
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1237404522602998605}
+  m_CullTransparentMesh: 1
+--- !u!114 &1905949521315575380
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1237404522602998605}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 0%
+--- !u!1 &1269557267540402333
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7822889146626897872}
+  - component: {fileID: 6842539528014876729}
+  - component: {fileID: 7492745933678916962}
+  - component: {fileID: 8700766427005832566}
+  m_Layer: 5
+  m_Name: content1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7822889146626897872
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1269557267540402333}
+  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: 3158952953477927028}
+  - {fileID: 4877392670603146603}
+  m_Father: {fileID: 8146888902267481947}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 503, y: 600}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &6842539528014876729
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1269557267540402333}
+  m_CullTransparentMesh: 1
+--- !u!114 &7492745933678916962
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1269557267540402333}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.9716981, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  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!114 &8700766427005832566
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1269557267540402333}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 40
+    m_Bottom: 0
+  m_ChildAlignment: 1
+  m_Spacing: 40
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &1313050039082876104
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8263437580043844647}
+  - component: {fileID: 6624224826832416875}
+  - component: {fileID: 4331597099357466236}
+  - component: {fileID: 379067482714056502}
+  - component: {fileID: 2788233962217039136}
+  - component: {fileID: 345867011576817806}
+  m_Layer: 5
+  m_Name: InfraredScreenBtn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8263437580043844647
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1313050039082876104}
+  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: 3560024050640091705}
+  - {fileID: 4032015130671786350}
+  - {fileID: 3315857762555884578}
+  m_Father: {fileID: 1355390331581377791}
+  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: 251.5, y: -82}
+  m_SizeDelta: {x: 478, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6624224826832416875
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1313050039082876104}
+  m_CullTransparentMesh: 1
+--- !u!114 &4331597099357466236
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1313050039082876104}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, 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!114 &379067482714056502
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1313050039082876104}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 4331597099357466236}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &2788233962217039136
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1313050039082876104}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &345867011576817806
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1313050039082876104}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 0}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: -1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &1392987478315890971
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6468202537809545462}
+  - component: {fileID: 2098244608000592323}
+  - component: {fileID: 6564469112310080205}
+  m_Layer: 5
+  m_Name: arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6468202537809545462
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1392987478315890971}
+  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: 7592521884376863672}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 434.9067, y: -62}
+  m_SizeDelta: {x: 22.28, y: 21.22}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2098244608000592323
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1392987478315890971}
+  m_CullTransparentMesh: 1
+--- !u!114 &6564469112310080205
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1392987478315890971}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4fbbfb07446dfb242a8e092691cec7af, 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 &1466507747283946288
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2211300846828181545}
+  - component: {fileID: 4503600025626555127}
+  - component: {fileID: 2824953835964834772}
+  m_Layer: 5
+  m_Name: arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2211300846828181545
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1466507747283946288}
+  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: 5007556406709545517}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 434.9067, y: -62}
+  m_SizeDelta: {x: 22.28, y: 21.22}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4503600025626555127
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1466507747283946288}
+  m_CullTransparentMesh: 1
+--- !u!114 &2824953835964834772
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1466507747283946288}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4fbbfb07446dfb242a8e092691cec7af, 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 &1757205689841235576
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3697929722062621677}
+  - component: {fileID: 5890894762981375525}
+  - component: {fileID: 7107481245058256531}
+  m_Layer: 5
+  m_Name: ItemShow_P2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3697929722062621677
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1757205689841235576}
+  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: 7588265840558667362}
+  - {fileID: 4798102446222938199}
+  - {fileID: 2318883860350481699}
+  - {fileID: 8359389633136827950}
+  - {fileID: 3831481266065365646}
+  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_SizeDelta: {x: 620, y: 750}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5890894762981375525
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1757205689841235576}
+  m_CullTransparentMesh: 0
+--- !u!114 &7107481245058256531
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1757205689841235576}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e7de75f00c999244185a68cea9e909ac, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  bluetoothPlayer: 1
+  selectPanel: {fileID: 3480745366292670094}
+  btnBg: {fileID: 6597819090736131582}
+  btnConnectBow: {fileID: 0}
+  ConnectButton: {fileID: 0}
+  ConnectButtonImage: {fileID: 0}
+  ConnectButtonImages:
+  - {fileID: 21300000, guid: 8208d205058f5844cbf9d51d8f3303e1, type: 3}
+  - {fileID: 21300000, guid: 325a9596a2f8fef4aadb1bb4d87f10e0, type: 3}
+  process: {fileID: 0}
+  connected: {fileID: 6655771888343105735}
+  unConnected: {fileID: 5734228401155404824}
+  titleText: {fileID: 2982113521795620369}
+  statusText: {fileID: 6365139638093466434}
+  initStatus: {fileID: 0}
+  bettery: {fileID: 303587804415348576}
+  betteryBar: {fileID: 3090702339649029404}
+  betteryValue: {fileID: 5795721303796423624}
+  pointImage: {fileID: 0}
+  pointImages:
+  - {fileID: 21300000, guid: 143e6edf7abc6fd4d9217dd1393e8235, type: 3}
+  - {fileID: 21300000, guid: 04f6aa1cb60ab0347a3dbc8467995542, type: 3}
+  rectangle: {fileID: 0}
+  rectangles:
+  - {fileID: 21300000, guid: 82428c2fc41f84e4db9e772aa8766f95, type: 3}
+  - {fileID: 21300000, guid: 59277fba691dc8c469644adf39f419b2, type: 3}
+  initStatusText: {fileID: 0}
+  bowBg: {fileID: 8563862095094086111}
+  bowBgs:
+  - {fileID: 21300000, guid: 949e587f5d66ef34991584ba568ec12e, type: 3}
+  - {fileID: 21300000, guid: a49c2ad65ec9d884fb64120238b18f51, type: 3}
+  gunBgs:
+  - {fileID: 21300000, guid: 4083f8e1ca929ce4bb6ec7d9c29c9365, type: 3}
+  _TextAutoLanguage2: {fileID: 2040204180109477403}
+  deviceIndex: 1
+--- !u!1 &1805942828472048259
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1607138744368687675}
+  - component: {fileID: 3228676898396335632}
+  - component: {fileID: 2052333033546839683}
+  m_Layer: 5
+  m_Name: line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1607138744368687675
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1805942828472048259}
+  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: 8359389633136827950}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -540}
+  m_SizeDelta: {x: 517.5, y: 3}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &3228676898396335632
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1805942828472048259}
+  m_CullTransparentMesh: 1
+--- !u!114 &2052333033546839683
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1805942828472048259}
+  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.5529412, g: 0.5882353, b: 0.5921569, 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: 0}
+  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 &1813916732896939464
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3205209580574422258}
+  - component: {fileID: 5448089270677430053}
+  - component: {fileID: 7376762420176378059}
+  m_Layer: 5
+  m_Name: arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3205209580574422258
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1813916732896939464}
+  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: 2344157582300514336}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 434.9067, y: -62}
+  m_SizeDelta: {x: 22.28, y: 21.22}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5448089270677430053
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1813916732896939464}
+  m_CullTransparentMesh: 1
+--- !u!114 &7376762420176378059
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1813916732896939464}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4fbbfb07446dfb242a8e092691cec7af, 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 &1863766744838191481
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3315857762555884578}
+  - component: {fileID: 7826544485413755813}
+  - component: {fileID: 1419064392531090875}
+  m_Layer: 5
+  m_Name: arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3315857762555884578
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1863766744838191481}
+  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: 8263437580043844647}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 434.9067, y: -62}
+  m_SizeDelta: {x: 22.28, y: 21.22}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7826544485413755813
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1863766744838191481}
+  m_CullTransparentMesh: 1
+--- !u!114 &1419064392531090875
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1863766744838191481}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4fbbfb07446dfb242a8e092691cec7af, 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 &1906973636649995699
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1355390331581377791}
+  - component: {fileID: 6935709039394634865}
+  - component: {fileID: 4481261090997796821}
+  - component: {fileID: 6242942852589599587}
+  m_Layer: 5
+  m_Name: content2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &1355390331581377791
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1906973636649995699}
+  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: 8263437580043844647}
+  - {fileID: 7592521884376863672}
+  - {fileID: 5007556406709545517}
+  - {fileID: 2344157582300514336}
+  - {fileID: 223303591192069062}
+  m_Father: {fileID: 8146888902267481947}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 503, y: 600}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &6935709039394634865
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1906973636649995699}
+  m_CullTransparentMesh: 1
+--- !u!114 &4481261090997796821
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1906973636649995699}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.9716981, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  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!114 &6242942852589599587
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1906973636649995699}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 20
+    m_Bottom: 0
+  m_ChildAlignment: 1
+  m_Spacing: 20
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &1951511755157159817
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3424464179328326809}
+  - component: {fileID: 4071744063420044617}
+  - component: {fileID: 778469472361608904}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3424464179328326809
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1951511755157159817}
+  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: 5007556406709545517}
+  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: 66.95333, y: -62}
+  m_SizeDelta: {x: 70, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4071744063420044617
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1951511755157159817}
+  m_CullTransparentMesh: 1
+--- !u!114 &778469472361608904
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1951511755157159817}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 1dc6c4827204e02408a74bd50e23d615, 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 &2098384005622388755
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7588265840558667362}
+  - component: {fileID: 3848254768785609389}
+  - component: {fileID: 6667314389844425480}
+  - component: {fileID: 6597819090736131582}
+  m_Layer: 5
+  m_Name: Bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7588265840558667362
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2098384005622388755}
+  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: 3697929722062621677}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 6, y: 6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3848254768785609389
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2098384005622388755}
+  m_CullTransparentMesh: 1
+--- !u!114 &6667314389844425480
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2098384005622388755}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: dd06324b43ac24947ae53dfe58236298, 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!114 &6597819090736131582
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2098384005622388755}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 6667314389844425480}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &2201346377696276031
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1231101157283585485}
+  - component: {fileID: 2488094130156216852}
+  - component: {fileID: 8603211158457650787}
+  m_Layer: 5
+  m_Name: arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1231101157283585485
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2201346377696276031}
+  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: 4877392670603146603}
+  m_RootOrder: 2
+  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_SizeDelta: {x: 22.28, y: 21.22}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2488094130156216852
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2201346377696276031}
+  m_CullTransparentMesh: 1
+--- !u!114 &8603211158457650787
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2201346377696276031}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4fbbfb07446dfb242a8e092691cec7af, 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 &2389249929634682338
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5634259463571438615}
+  - component: {fileID: 708237231529693535}
+  - component: {fileID: 3690707445959305962}
+  m_Layer: 5
+  m_Name: line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5634259463571438615
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2389249929634682338}
+  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: 3831481266065365646}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -540}
+  m_SizeDelta: {x: 517.5, y: 3}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &708237231529693535
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2389249929634682338}
+  m_CullTransparentMesh: 1
+--- !u!114 &3690707445959305962
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2389249929634682338}
+  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.5529412, g: 0.5882353, b: 0.5921569, 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: 0}
+  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 &2519187698631005381
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4032015130671786350}
+  - component: {fileID: 1573826367756168637}
+  - component: {fileID: 2817974586232066848}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4032015130671786350
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2519187698631005381}
+  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: 8263437580043844647}
+  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: 262.86, y: -62}
+  m_SizeDelta: {x: 234, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1573826367756168637
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2519187698631005381}
+  m_CullTransparentMesh: 1
+--- !u!114 &2817974586232066848
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137255, g: 0.23137255, b: 0.23137255, 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: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5C4F\u5E55\u5B9A\u4F4D"
+--- !u!1 &2556358481352995298
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5189773929950453238}
+  - component: {fileID: 8420911695555603658}
+  - component: {fileID: 6690931337291462873}
+  m_Layer: 5
+  m_Name: line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5189773929950453238
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2556358481352995298}
+  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: 1922190892495397972}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -540}
+  m_SizeDelta: {x: 517.5, y: 3}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &8420911695555603658
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2556358481352995298}
+  m_CullTransparentMesh: 1
+--- !u!114 &6690931337291462873
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2556358481352995298}
+  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.5529412, g: 0.5882353, b: 0.5921569, 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: 0}
+  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 &2815813948246038557
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5007771747935866772}
+  - component: {fileID: 7953435661318299961}
+  - component: {fileID: 8421990970490193357}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5007771747935866772
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2815813948246038557}
+  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: 223303591192069062}
+  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: 66.95333, y: -62}
+  m_SizeDelta: {x: 70, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7953435661318299961
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2815813948246038557}
+  m_CullTransparentMesh: 1
+--- !u!114 &8421990970490193357
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2815813948246038557}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: dcb93abd770a13d458ca6773fbbe868e, 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 &2874361232647931706
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4877392670603146603}
+  - component: {fileID: 6952713093018386202}
+  - component: {fileID: 3050272479963896100}
+  - component: {fileID: 6008783969969484278}
+  - component: {fileID: 4700042095227808408}
+  - component: {fileID: 8335356828666213725}
+  m_Layer: 5
+  m_Name: smartGunButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4877392670603146603
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2874361232647931706}
+  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: 5915030507981063082}
+  - {fileID: 1204531698397008728}
+  - {fileID: 1231101157283585485}
+  m_Father: {fileID: 7822889146626897872}
+  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_SizeDelta: {x: 478, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6952713093018386202
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2874361232647931706}
+  m_CullTransparentMesh: 1
+--- !u!114 &3050272479963896100
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2874361232647931706}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, 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!114 &6008783969969484278
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2874361232647931706}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 3050272479963896100}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &4700042095227808408
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2874361232647931706}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &8335356828666213725
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2874361232647931706}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 0}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartArcheryButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartArcheryButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: -1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &2946179036779555233
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7122147713064219507}
+  - component: {fileID: 333549006556241817}
+  - component: {fileID: 4028287665062801901}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7122147713064219507
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2946179036779555233}
+  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: 4763926582876890315}
+  - {fileID: 6301190626279048496}
+  m_Father: {fileID: 4235770052945755040}
+  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: 40, y: 0}
+  m_SizeDelta: {x: 40.850006, y: 25.73}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &333549006556241817
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2946179036779555233}
+  m_CullTransparentMesh: 1
+--- !u!114 &4028287665062801901
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2946179036779555233}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: c70203337d8a4e441bcd951fe806ad6e, 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 &2956249261256406216
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 678598712998616171}
+  - component: {fileID: 4459570435422172270}
+  - component: {fileID: 4176535467277887792}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &678598712998616171
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2956249261256406216}
+  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: 3158952953477927028}
+  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_SizeDelta: {x: 234, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4459570435422172270
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2956249261256406216}
+  m_CullTransparentMesh: 1
+--- !u!114 &4176535467277887792
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137255, g: 0.23137255, b: 0.23137255, 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: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u667A\u80FD\u5F13\u7BAD"
+--- !u!1 &3090702339649029404
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3675885329021184501}
+  - component: {fileID: 3352396830254705870}
+  - component: {fileID: 7791580145276183468}
+  m_Layer: 5
+  m_Name: bar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3675885329021184501
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3090702339649029404}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.7875, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3619835083296943932}
+  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: -1.9, y: 0.3}
+  m_SizeDelta: {x: 40.85, y: 19.87}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3352396830254705870
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3090702339649029404}
+  m_CullTransparentMesh: 1
+--- !u!114 &7791580145276183468
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3090702339649029404}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 2100000, guid: 364f414278055014a81261537521488f, type: 2}
+  m_Color: {r: 1, g: 0.76862746, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 19be0c9dff9917f4588d5027f81ce00c, type: 3}
+  m_Type: 3
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 0
+  m_FillAmount: 0
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &3456942862260362482
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4424689622087952574}
+  - component: {fileID: 5677634002329696620}
+  - component: {fileID: 3590390481849422466}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4424689622087952574
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3456942862260362482}
+  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: 7128883194241000184}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 40, y: -39}
+  m_SizeDelta: {x: -80, y: 38}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &5677634002329696620
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3456942862260362482}
+  m_CullTransparentMesh: 1
+--- !u!114 &3590390481849422466
+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: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "1P  \u6211\u7684WONDERFITTER \u8BBE\u5907"
+--- !u!1 &3468918820746832752
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1922190892495397972}
+  - component: {fileID: 2991259263785020312}
+  - component: {fileID: 4909606768821911244}
+  m_Layer: 5
+  m_Name: unConnect
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1922190892495397972
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3468918820746832752}
+  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: 5189773929950453238}
+  - {fileID: 8877235160740914775}
+  m_Father: {fileID: 7295578844967136960}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2991259263785020312
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3468918820746832752}
+  m_CullTransparentMesh: 1
+--- !u!114 &4909606768821911244
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3468918820746832752}
+  m_Enabled: 0
+  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: 0.392}
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &3975078034313454886
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3319966071402702626}
+  - component: {fileID: 3819646608067363017}
+  - component: {fileID: 8094671550768530044}
+  - component: {fileID: 5408319640996973317}
+  m_Layer: 5
+  m_Name: info
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3319966071402702626
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3975078034313454886}
+  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: 5368886303976252795}
+  - {fileID: 4235770052945755040}
+  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: 310, y: -127.5}
+  m_SizeDelta: {x: 570, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3819646608067363017
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3975078034313454886}
+  m_CullTransparentMesh: 1
+--- !u!114 &8094671550768530044
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3975078034313454886}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.0141509175, b: 0.0141509175, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  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!114 &5408319640996973317
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3975078034313454886}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &4014033969170119548
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4108651249474846771}
+  - component: {fileID: 7240215865752197520}
+  - component: {fileID: 2896363762437150226}
+  m_Layer: 5
+  m_Name: arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4108651249474846771
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4014033969170119548}
+  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: 3158952953477927028}
+  m_RootOrder: 2
+  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_SizeDelta: {x: 22.28, y: 21.22}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7240215865752197520
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4014033969170119548}
+  m_CullTransparentMesh: 1
+--- !u!114 &2896363762437150226
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4014033969170119548}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4fbbfb07446dfb242a8e092691cec7af, 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 &4403249574185589017
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2624584339530074265}
+  - component: {fileID: 9088982691592987478}
+  - component: {fileID: 8725065758931278895}
+  m_Layer: 5
+  m_Name: connected
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &2624584339530074265
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4403249574185589017}
+  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: 290983159092254638}
+  - {fileID: 5326043933998717692}
+  - {fileID: 8809921120636371870}
+  m_Father: {fileID: 7295578844967136960}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9088982691592987478
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4403249574185589017}
+  m_CullTransparentMesh: 1
+--- !u!114 &8725065758931278895
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4403249574185589017}
+  m_Enabled: 0
+  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: 0.392}
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &4620655508745620914
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2729919018057229681}
+  - component: {fileID: 2751393317025161550}
+  - component: {fileID: 4832261757421324426}
+  m_Layer: 0
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2729919018057229681
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4620655508745620914}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.45, y: 1.45, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5558585036946217141}
+  m_RootOrder: 1
+  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: 0, y: 0}
+  m_SizeDelta: {x: 51.850006, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &2751393317025161550
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4620655508745620914}
+  m_CullTransparentMesh: 0
+--- !u!114 &4832261757421324426
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4620655508745620914}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 5ac0f964759a36a409c58e6b8dd881bb, 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 &4901672837881703211
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5007556406709545517}
+  - component: {fileID: 4269266714704660682}
+  - component: {fileID: 3118363575241234017}
+  - component: {fileID: 2225176374238443921}
+  - component: {fileID: 7742566828113738451}
+  - component: {fileID: 744530658368005146}
+  m_Layer: 5
+  m_Name: smartUnConnectBtn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &5007556406709545517
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4901672837881703211}
+  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: 3424464179328326809}
+  - {fileID: 4496825468146933954}
+  - {fileID: 2211300846828181545}
+  m_Father: {fileID: 1355390331581377791}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 251.5, y: -310}
+  m_SizeDelta: {x: 478, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4269266714704660682
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4901672837881703211}
+  m_CullTransparentMesh: 1
+--- !u!114 &3118363575241234017
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4901672837881703211}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, 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!114 &2225176374238443921
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4901672837881703211}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 3118363575241234017}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &7742566828113738451
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4901672837881703211}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &744530658368005146
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4901672837881703211}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 0}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 2
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: -1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &4969380203431734316
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3560024050640091705}
+  - component: {fileID: 5799580762087317654}
+  - component: {fileID: 5653214344637814203}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3560024050640091705
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4969380203431734316}
+  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: 8263437580043844647}
+  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: 66.95333, y: -62}
+  m_SizeDelta: {x: 70, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5799580762087317654
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4969380203431734316}
+  m_CullTransparentMesh: 1
+--- !u!114 &5653214344637814203
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4969380203431734316}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 5be985b52bd106340906aeaa0b30f6d4, 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 &5196822340963278131
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 223303591192069062}
+  - component: {fileID: 6963083598422296838}
+  - component: {fileID: 4626568340128823319}
+  - component: {fileID: 7241931180674969829}
+  - component: {fileID: 8168899155892551292}
+  - component: {fileID: 578415386429840263}
+  m_Layer: 5
+  m_Name: smartSwitchDevice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &223303591192069062
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5196822340963278131}
+  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: 5007771747935866772}
+  - {fileID: 4556053596195783516}
+  - {fileID: 3369747658433446993}
+  m_Father: {fileID: 1355390331581377791}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 251.5, y: -514}
+  m_SizeDelta: {x: 478, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6963083598422296838
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5196822340963278131}
+  m_CullTransparentMesh: 1
+--- !u!114 &4626568340128823319
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5196822340963278131}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, 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!114 &7241931180674969829
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5196822340963278131}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 4626568340128823319}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &8168899155892551292
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5196822340963278131}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &578415386429840263
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5196822340963278131}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 0}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 4
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: -1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &5348165849846540021
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4235770052945755040}
+  - component: {fileID: 4765677205668891988}
+  m_Layer: 5
+  m_Name: battery
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4235770052945755040
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5348165849846540021}
+  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: 7122147713064219507}
+  - {fileID: 3923298730012879095}
+  m_Father: {fileID: 3319966071402702626}
+  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: 427.5, y: -25}
+  m_SizeDelta: {x: 285, y: 28}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4765677205668891988
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5348165849846540021}
+  m_CullTransparentMesh: 1
+--- !u!1 &5602789964644238628
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6301190626279048496}
+  - component: {fileID: 592223377908101952}
+  - component: {fileID: 488827454431705046}
+  m_Layer: 5
+  m_Name: player
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6301190626279048496
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5602789964644238628}
+  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: 7122147713064219507}
+  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: -1.6, y: 0}
+  m_SizeDelta: {x: 28, y: 26}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &592223377908101952
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5602789964644238628}
+  m_CullTransparentMesh: 1
+--- !u!114 &488827454431705046
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5602789964644238628}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 1P
+--- !u!1 &5682241501532433525
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8837371551426176277}
+  - component: {fileID: 1417677804458880375}
+  - component: {fileID: 7743338179520807866}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8837371551426176277
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5682241501532433525}
+  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: 3158952953477927028}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 70, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1417677804458880375
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5682241501532433525}
+  m_CullTransparentMesh: 1
+--- !u!114 &7743338179520807866
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5682241501532433525}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 679276a304a208e4882b8a40c0d9322d, 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 &5734228401155404824
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3831481266065365646}
+  - component: {fileID: 4326284006360370636}
+  - component: {fileID: 60565330148009702}
+  m_Layer: 5
+  m_Name: unConnect
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3831481266065365646
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5734228401155404824}
+  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: 5634259463571438615}
+  - {fileID: 5451191539135806006}
+  m_Father: {fileID: 3697929722062621677}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4326284006360370636
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5734228401155404824}
+  m_CullTransparentMesh: 1
+--- !u!114 &60565330148009702
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5734228401155404824}
+  m_Enabled: 0
+  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: 0.392}
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5795312954050436338
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2460323302249915881}
+  - component: {fileID: 4025730009756994776}
+  - component: {fileID: 6740332006797068746}
+  m_Layer: 5
+  m_Name: player
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2460323302249915881
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5795312954050436338}
+  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: 3619835083296943932}
+  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: -1.6, y: 0}
+  m_SizeDelta: {x: 28, y: 26}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4025730009756994776
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5795312954050436338}
+  m_CullTransparentMesh: 1
+--- !u!114 &6740332006797068746
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5795312954050436338}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 1P
+--- !u!1 &5795721303796423624
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1708767829829243884}
+  - component: {fileID: 617670098236080175}
+  - component: {fileID: 2896719298315950339}
+  m_Layer: 5
+  m_Name: value
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1708767829829243884
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5795721303796423624}
+  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: 8505179751994062504}
+  m_RootOrder: 1
+  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_Pivot: {x: 0, y: 0}
+--- !u!222 &617670098236080175
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5795721303796423624}
+  m_CullTransparentMesh: 1
+--- !u!114 &2896719298315950339
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5795721303796423624}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 0%
+--- !u!1 &6120685807288677451
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7128883194241000184}
+  m_Layer: 5
+  m_Name: top
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7128883194241000184
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6120685807288677451}
+  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: 4424689622087952574}
+  m_Father: {fileID: 7295578844967136960}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -39}
+  m_SizeDelta: {x: 570, y: 78}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6175521516759622354
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2344157582300514336}
+  - component: {fileID: 9013912856389766974}
+  - component: {fileID: 5867936158086550621}
+  - component: {fileID: 6372777047882341242}
+  - component: {fileID: 4776761209603103403}
+  - component: {fileID: 6834303936220009042}
+  m_Layer: 5
+  m_Name: smartAddDeviceBtn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2344157582300514336
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6175521516759622354}
+  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: 8919386355043793803}
+  - {fileID: 8657823886293718099}
+  - {fileID: 3205209580574422258}
+  m_Father: {fileID: 1355390331581377791}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 251.5, y: -370}
+  m_SizeDelta: {x: 478, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9013912856389766974
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6175521516759622354}
+  m_CullTransparentMesh: 1
+--- !u!114 &5867936158086550621
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6175521516759622354}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, 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!114 &6372777047882341242
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6175521516759622354}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 5867936158086550621}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &4776761209603103403
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6175521516759622354}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &6834303936220009042
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6175521516759622354}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 0}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 3
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: -1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &6344481667602019840
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3369747658433446993}
+  - component: {fileID: 8833762028586303463}
+  - component: {fileID: 3726129303100819248}
+  m_Layer: 5
+  m_Name: arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3369747658433446993
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6344481667602019840}
+  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: 223303591192069062}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 434.9067, y: -62}
+  m_SizeDelta: {x: 22.28, y: 21.22}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8833762028586303463
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6344481667602019840}
+  m_CullTransparentMesh: 1
+--- !u!114 &3726129303100819248
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6344481667602019840}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4fbbfb07446dfb242a8e092691cec7af, 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 &6463520047254606921
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1628304907894467676}
+  - component: {fileID: 299532441054340027}
+  - component: {fileID: 6540301970692798261}
+  - component: {fileID: 1050224102309858770}
+  m_Layer: 5
+  m_Name: Bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1628304907894467676
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6463520047254606921}
+  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: 7295578844967136960}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 6, y: 6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &299532441054340027
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6463520047254606921}
+  m_CullTransparentMesh: 1
+--- !u!114 &6540301970692798261
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6463520047254606921}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: dd06324b43ac24947ae53dfe58236298, 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!114 &1050224102309858770
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6463520047254606921}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 6540301970692798261}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &6655771888343105735
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8359389633136827950}
+  - component: {fileID: 8839472610557449451}
+  - component: {fileID: 1897239308766015763}
+  m_Layer: 5
+  m_Name: connected
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &8359389633136827950
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6655771888343105735}
+  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: 2793358216316584669}
+  - {fileID: 1607138744368687675}
+  - {fileID: 3115437585392817648}
+  m_Father: {fileID: 3697929722062621677}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8839472610557449451
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6655771888343105735}
+  m_CullTransparentMesh: 1
+--- !u!114 &1897239308766015763
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6655771888343105735}
+  m_Enabled: 0
+  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: 0.392}
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &6670767719370284256
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2318883860350481699}
+  m_Layer: 5
+  m_Name: top
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2318883860350481699
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6670767719370284256}
+  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: 4124505392989978468}
+  m_Father: {fileID: 3697929722062621677}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -39}
+  m_SizeDelta: {x: 570, y: 78}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6710672505767261733
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7425521948276828659}
+  m_Layer: 5
+  m_Name: top
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7425521948276828659
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6710672505767261733}
+  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: 3174449533346045808}
+  m_Father: {fileID: 8146888902267481947}
+  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: 1}
+  m_AnchoredPosition: {x: 0, y: 115}
+  m_SizeDelta: {x: 476, y: -230}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6857419135887128585
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4798102446222938199}
+  - component: {fileID: 5996887477266057213}
+  - component: {fileID: 3480745366292670094}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4798102446222938199
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6857419135887128585}
+  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: 3697929722062621677}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 5.999999, y: 6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5996887477266057213
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6857419135887128585}
+  m_CullTransparentMesh: 1
+--- !u!114 &3480745366292670094
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6857419135887128585}
+  m_Enabled: 0
+  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: f81125fda63f64248b0a35a67346bf33, 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 &7018667926681830128
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7592521884376863672}
+  - component: {fileID: 1197806343873953191}
+  - component: {fileID: 2154046798712783473}
+  - component: {fileID: 8185218567196236475}
+  - component: {fileID: 5351410292815597629}
+  - component: {fileID: 2492770872047727372}
+  m_Layer: 5
+  m_Name: smartConnectBtn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7592521884376863672
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018667926681830128}
+  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: 6671611404447587252}
+  - {fileID: 741292733069802814}
+  - {fileID: 6468202537809545462}
+  m_Father: {fileID: 1355390331581377791}
+  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: 251.5, y: -226}
+  m_SizeDelta: {x: 478, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1197806343873953191
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018667926681830128}
+  m_CullTransparentMesh: 1
+--- !u!114 &2154046798712783473
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018667926681830128}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, 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!114 &8185218567196236475
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018667926681830128}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 2154046798712783473}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &5351410292815597629
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018667926681830128}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &2492770872047727372
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018667926681830128}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 0}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartConnect2ButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: -1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &7193593331743960216
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7901305513344034106}
+  - component: {fileID: 2710580689118347649}
+  - component: {fileID: 5764882055588109216}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7901305513344034106
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7193593331743960216}
+  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: 7295578844967136960}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 6, y: 6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2710580689118347649
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7193593331743960216}
+  m_CullTransparentMesh: 1
+--- !u!114 &5764882055588109216
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7193593331743960216}
+  m_Enabled: 0
+  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: f81125fda63f64248b0a35a67346bf33, 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 &7222998956102884019
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5558585036946217141}
+  m_Layer: 0
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5558585036946217141
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7222998956102884019}
+  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: 2874605479516318861}
+  - {fileID: 2729919018057229681}
+  m_Father: {fileID: 8677266362471276963}
+  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: -808, y: 460}
+  m_SizeDelta: {x: 600, y: 73.30005}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &7332025093689908053
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4496825468146933954}
+  - component: {fileID: 4962358607051297953}
+  - component: {fileID: 357045045445746495}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4496825468146933954
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7332025093689908053}
+  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: 5007556406709545517}
+  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: 262.86, y: -62}
+  m_SizeDelta: {x: 234, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4962358607051297953
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7332025093689908053}
+  m_CullTransparentMesh: 1
+--- !u!114 &357045045445746495
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137255, g: 0.23137255, b: 0.23137255, 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: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u65AD\u5F00\u8FDE\u63A5"
+--- !u!1 &7422259073830678695
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5756235976269569222}
+  - component: {fileID: 1043175752115609201}
+  - component: {fileID: 1299727406120605851}
+  - component: {fileID: 330945285166349531}
+  m_Layer: 5
+  m_Name: info
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5756235976269569222
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7422259073830678695}
+  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: 5224722728605276788}
+  - {fileID: 8505179751994062504}
+  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: 310, y: -127.5}
+  m_SizeDelta: {x: 570, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1043175752115609201
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7422259073830678695}
+  m_CullTransparentMesh: 1
+--- !u!114 &1299727406120605851
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7422259073830678695}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.0141509175, b: 0.0141509175, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  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!114 &330945285166349531
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7422259073830678695}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &7556665170582975310
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 741292733069802814}
+  - component: {fileID: 3503910074354144956}
+  - component: {fileID: 3209682440852996174}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &741292733069802814
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7556665170582975310}
+  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: 7592521884376863672}
+  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: 262.86, y: -62}
+  m_SizeDelta: {x: 234, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3503910074354144956
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7556665170582975310}
+  m_CullTransparentMesh: 1
+--- !u!114 &3209682440852996174
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137255, g: 0.23137255, b: 0.23137255, 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: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u8FDE\u63A5\u8BBE\u5907"
+--- !u!1 &7622741427315901751
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3115437585392817648}
+  - component: {fileID: 5332660744901675380}
+  m_Layer: 5
+  m_Name: bottom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3115437585392817648
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7622741427315901751}
+  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: 4331716192076459625}
+  - {fileID: 5756235976269569222}
+  m_Father: {fileID: 8359389633136827950}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -187}
+  m_SizeDelta: {x: 0, y: 183}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &5332660744901675380
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7622741427315901751}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 40
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 1
+  m_ChildScaleHeight: 1
+  m_ReverseArrangement: 0
+--- !u!1 &7729448766890404165
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3619835083296943932}
+  - component: {fileID: 1353148337033794914}
+  - component: {fileID: 1605000568844244664}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3619835083296943932
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7729448766890404165}
+  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: 3675885329021184501}
+  - {fileID: 2460323302249915881}
+  m_Father: {fileID: 8505179751994062504}
+  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: 39.999878, y: 0.000061035156}
+  m_SizeDelta: {x: 40.85, y: 25.73}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1353148337033794914
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7729448766890404165}
+  m_CullTransparentMesh: 1
+--- !u!114 &1605000568844244664
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7729448766890404165}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: c70203337d8a4e441bcd951fe806ad6e, 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 &7780919486968614561
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4070476414668758752}
+  - component: {fileID: 3074902671174673538}
+  - component: {fileID: 5408079423854445770}
+  m_Layer: 5
+  m_Name: Bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4070476414668758752
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7780919486968614561}
+  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: 8146888902267481947}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -4}
+  m_SizeDelta: {x: 34, y: 36}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3074902671174673538
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7780919486968614561}
+  m_CullTransparentMesh: 1
+--- !u!114 &5408079423854445770
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7780919486968614561}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 0cf0307ad5021154398cc23a0f87b648, 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 &7867030853648936596
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4556053596195783516}
+  - component: {fileID: 6176992172429700426}
+  - component: {fileID: 3965712022615949644}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4556053596195783516
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7867030853648936596}
+  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: 223303591192069062}
+  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: 262.86, y: -62}
+  m_SizeDelta: {x: 234, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6176992172429700426
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7867030853648936596}
+  m_CullTransparentMesh: 1
+--- !u!114 &3965712022615949644
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137255, g: 0.23137255, b: 0.23137255, 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: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5207\u6362\u8BBE\u5907"
+--- !u!1 &7890919721642812243
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4763926582876890315}
+  - component: {fileID: 6951690504013583497}
+  - component: {fileID: 3204393932850970293}
+  m_Layer: 5
+  m_Name: bar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4763926582876890315
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7890919721642812243}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.7875, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7122147713064219507}
+  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: -1.9, y: 0.3}
+  m_SizeDelta: {x: 40.85, y: 19.87}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6951690504013583497
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7890919721642812243}
+  m_CullTransparentMesh: 1
+--- !u!114 &3204393932850970293
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7890919721642812243}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 2100000, guid: 364f414278055014a81261537521488f, type: 2}
+  m_Color: {r: 1, g: 0.76862746, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 19be0c9dff9917f4588d5027f81ce00c, type: 3}
+  m_Type: 3
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 0
+  m_FillAmount: 0
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8032115205062346999
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4242660785307798858}
+  - component: {fileID: 239668462392821851}
+  - component: {fileID: 2399535694195859652}
+  m_Layer: 5
+  m_Name: content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4242660785307798858
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8032115205062346999}
+  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: 7295578844967136960}
+  - {fileID: 3697929722062621677}
+  - {fileID: 8146888902267481947}
+  m_Father: {fileID: 8677266362471276963}
+  m_RootOrder: 3
+  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: 9, y: -38}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &239668462392821851
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8032115205062346999}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &2399535694195859652
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8032115205062346999}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 76
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &8035895859342677344
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5368886303976252795}
+  - component: {fileID: 2148228175767830763}
+  - component: {fileID: 4257527137690726779}
+  - component: {fileID: 4288816417670544630}
+  m_Layer: 5
+  m_Name: status
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5368886303976252795
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8035895859342677344}
+  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_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_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2148228175767830763
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8035895859342677344}
+  m_CullTransparentMesh: 1
+--- !u!114 &4257527137690726779
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8035895859342677344}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 5
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Connect
+--- !u!114 &4288816417670544630
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8035895859342677344}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_BLE_Connect
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
+--- !u!1 &8241605669420897683
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1204531698397008728}
+  - component: {fileID: 5886681956805817508}
+  - component: {fileID: 6329825763615910734}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1204531698397008728
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8241605669420897683}
+  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: 4877392670603146603}
+  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_SizeDelta: {x: 234, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5886681956805817508
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8241605669420897683}
+  m_CullTransparentMesh: 1
+--- !u!114 &6329825763615910734
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137255, g: 0.23137255, b: 0.23137255, 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: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u667A\u80FD\u624B\u67AA"
+--- !u!1 &8311486230390535680
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4331716192076459625}
+  - component: {fileID: 1281910840067255634}
+  - component: {fileID: 2982113521795620369}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4331716192076459625
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8311486230390535680}
+  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: 3115437585392817648}
+  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_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1281910840067255634
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8311486230390535680}
+  m_CullTransparentMesh: 1
+--- !u!114 &2982113521795620369
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8311486230390535680}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 32
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: HOUYU 1
+--- !u!1 &8363469903899248891
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8919386355043793803}
+  - component: {fileID: 8550212274490685693}
+  - component: {fileID: 321256060125307401}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8919386355043793803
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8363469903899248891}
+  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: 2344157582300514336}
+  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: 66.95333, y: -62}
+  m_SizeDelta: {x: 70, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8550212274490685693
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8363469903899248891}
+  m_CullTransparentMesh: 1
+--- !u!114 &321256060125307401
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8363469903899248891}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 6a6d2381da5cb514181dd440ab605fae, 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
+--- !u!1 &8379894321895703493
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3174449533346045808}
+  - component: {fileID: 3958877097500416654}
+  - component: {fileID: 213901265927414880}
+  - component: {fileID: 6928783043399755548}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3174449533346045808
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8379894321895703493}
+  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: 7425521948276828659}
+  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: 37, y: 0}
+  m_SizeDelta: {x: 400, y: 38}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &3958877097500416654
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8379894321895703493}
+  m_CullTransparentMesh: 1
+--- !u!114 &213901265927414880
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8379894321895703493}
+  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: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 32
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "WONDERFITTER\u8BBE\u5907\u63A7\u5236\u9762\u677F"
+--- !u!114 &6928783043399755548
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8379894321895703493}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_AddDeviceTitle
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
+--- !u!1 &8380189480751151650
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6671611404447587252}
+  - component: {fileID: 1630040772282309545}
+  - component: {fileID: 6857796007726690248}
+  m_Layer: 5
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6671611404447587252
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8380189480751151650}
+  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: 7592521884376863672}
+  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: 66.95333, y: -62}
+  m_SizeDelta: {x: 70, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1630040772282309545
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8380189480751151650}
+  m_CullTransparentMesh: 1
+--- !u!114 &6857796007726690248
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8380189480751151650}
+  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.23137255, g: 0.23137255, b: 0.23137255, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 10192bd2685a6bc408dbab2b92ef2988, 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 &8398800510753710764
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8657823886293718099}
+  - component: {fileID: 1632295405972461884}
+  - component: {fileID: 5742930117492303466}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8657823886293718099
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8398800510753710764}
+  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: 2344157582300514336}
+  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: 262.86, y: -62}
+  m_SizeDelta: {x: 234, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1632295405972461884
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8398800510753710764}
+  m_CullTransparentMesh: 1
+--- !u!114 &5742930117492303466
+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: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137255, g: 0.23137255, b: 0.23137255, 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: 32
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u589E\u52A0 2P"
+--- !u!1 &8443050917220159479
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5326043933998717692}
+  - component: {fileID: 6984501151040985879}
+  - component: {fileID: 3892914654781146285}
+  m_Layer: 5
+  m_Name: line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5326043933998717692
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8443050917220159479}
+  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: 2624584339530074265}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -540}
+  m_SizeDelta: {x: 517.5, y: 3}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &6984501151040985879
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8443050917220159479}
+  m_CullTransparentMesh: 1
+--- !u!114 &3892914654781146285
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8443050917220159479}
+  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.5529412, g: 0.5882353, b: 0.5921569, 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: 0}
+  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 &8471946102419381748
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8748957870701941239}
+  - component: {fileID: 3479065381201898888}
+  - component: {fileID: 2987289437974676634}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8748957870701941239
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8471946102419381748}
+  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: 8809921120636371870}
+  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_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3479065381201898888
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8471946102419381748}
+  m_CullTransparentMesh: 1
+--- !u!114 &2987289437974676634
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8471946102419381748}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 32
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: HOUYU 1
+--- !u!1 &8556180803168509483
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2793358216316584669}
+  - component: {fileID: 7968706160500523703}
+  - component: {fileID: 8563862095094086111}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2793358216316584669
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8556180803168509483}
+  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: 8359389633136827950}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -135}
+  m_SizeDelta: {x: 518, y: 346}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &7968706160500523703
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8556180803168509483}
+  m_CullTransparentMesh: 1
+--- !u!114 &8563862095094086111
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8556180803168509483}
+  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: 949e587f5d66ef34991584ba568ec12e, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8677266361160975224
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8677266361160975225}
+  - component: {fileID: 8677266361160975228}
+  - component: {fileID: 8677266361160975227}
+  m_Layer: 0
+  m_Name: Btn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8677266361160975225
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361160975224}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.45, y: 1.45, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8677266361696092476}
+  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: -82.6, y: 0}
+  m_SizeDelta: {x: 25.64, y: 29.7}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8677266361160975228
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361160975224}
+  m_CullTransparentMesh: 0
+--- !u!114 &8677266361160975227
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361160975224}
+  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: 194d4e52ad2cafd41b1c65be597a72de, 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 &8677266361696092475
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8677266361696092476}
+  - component: {fileID: 5847324503461343397}
+  - component: {fileID: 2238896333236035798}
+  - component: {fileID: 5243982012174841481}
+  - component: {fileID: 4500974771575028863}
+  m_Layer: 0
+  m_Name: Back
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8677266361696092476
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361696092475}
+  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: 8677266361160975225}
+  - {fileID: 8677266362401961738}
+  m_Father: {fileID: 8677266362471276963}
+  m_RootOrder: 2
+  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: 1009, y: 460}
+  m_SizeDelta: {x: 290, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5847324503461343397
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361696092475}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 8677266361160975227}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnClick_Back
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &2238896333236035798
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361696092475}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 8677266361696092476}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls: []
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!222 &5243982012174841481
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361696092475}
+  m_CullTransparentMesh: 1
+--- !u!114 &4500974771575028863
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266361696092475}
+  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: 0}
+  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: 0}
+  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 &8677266362401961737
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8677266362401961738}
+  - component: {fileID: 8677266362401961741}
+  - component: {fileID: 8677266362401961740}
+  - component: {fileID: 7895929672016366118}
+  m_Layer: 0
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8677266362401961738
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362401961737}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.32, y: 1.32, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8677266361696092476}
+  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: -27.4, y: 0}
+  m_SizeDelta: {x: 160, y: 40}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8677266362401961741
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362401961737}
+  m_CullTransparentMesh: 0
+--- !u!114 &8677266362401961740
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362401961737}
+  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, g: 0, b: 0, 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_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 35
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: back
+--- !u!114 &7895929672016366118
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362401961737}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: common_return
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
+--- !u!1 &8677266362471276989
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8677266362471276963}
+  - component: {fileID: 8677266362471276962}
+  - component: {fileID: 8677266362471276961}
+  - component: {fileID: 8677266362471276960}
+  - component: {fileID: 1415079815048020883}
+  m_Layer: 5
+  m_Name: DeviceViewInfrared
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8677266362471276963
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362471276989}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 8677266362914771146}
+  - {fileID: 5558585036946217141}
+  - {fileID: 8677266361696092476}
+  - {fileID: 4242660785307798858}
+  - {fileID: 4881032139879018791}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!223 &8677266362471276962
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362471276989}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!114 &8677266362471276961
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362471276989}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 2352, y: 1170}
+  m_ScreenMatchMode: 1
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!114 &8677266362471276960
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362471276989}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1415079815048020883
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362471276989}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 49472160bfe460544b03146db75ea83e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Connect1Parent: {fileID: 1269557267540402333}
+  smartConnect1Buttons:
+  - {fileID: 2911722289039011756}
+  - {fileID: 6008783969969484278}
+  Connect2Parent: {fileID: 1906973636649995699}
+  smartConnect2Buttons:
+  - {fileID: 379067482714056502}
+  - {fileID: 8185218567196236475}
+  - {fileID: 2225176374238443921}
+  - {fileID: 6372777047882341242}
+  - {fileID: 7241931180674969829}
+  smartArcheryBg:
+  - {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, type: 3}
+  - {fileID: 21300000, guid: 20e44fb2d7f166e41bc6db0c35362c24, type: 3}
+  deviceViewItems:
+  - {fileID: 1554904820333096697}
+  - {fileID: 7107481245058256531}
+  selectDeviceViewItem: {fileID: 0}
+  horizontalLayoutGroup: {fileID: 2399535694195859652}
+--- !u!1 &8677266362914771145
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8677266362914771146}
+  - component: {fileID: 8677266362914771148}
+  - component: {fileID: 8677266362914771147}
+  m_Layer: 5
+  m_Name: BG
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8677266362914771146
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362914771145}
+  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: 8677266362471276963}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8677266362914771148
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362914771145}
+  m_CullTransparentMesh: 0
+--- !u!114 &8677266362914771147
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8677266362914771145}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  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 &8728501130356627881
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 290983159092254638}
+  - component: {fileID: 5650540414083745060}
+  - component: {fileID: 5804441909881308529}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &290983159092254638
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8728501130356627881}
+  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: 2624584339530074265}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -135}
+  m_SizeDelta: {x: 518, y: 346}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &5650540414083745060
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8728501130356627881}
+  m_CullTransparentMesh: 1
+--- !u!114 &5804441909881308529
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8728501130356627881}
+  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: 949e587f5d66ef34991584ba568ec12e, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8760962491654948458
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5224722728605276788}
+  - component: {fileID: 49497840751108719}
+  - component: {fileID: 6365139638093466434}
+  - component: {fileID: 2040204180109477403}
+  m_Layer: 5
+  m_Name: status
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5224722728605276788
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8760962491654948458}
+  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_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_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &49497840751108719
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8760962491654948458}
+  m_CullTransparentMesh: 1
+--- !u!114 &6365139638093466434
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8760962491654948458}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 5
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Connect
+--- !u!114 &2040204180109477403
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8760962491654948458}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_BLE_Connect
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
+--- !u!1 &8768998982485598618
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2874605479516318861}
+  - component: {fileID: 9170237829049141499}
+  - component: {fileID: 3496798560382340890}
+  - component: {fileID: 4982494374888122116}
+  m_Layer: 0
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2874605479516318861
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8768998982485598618}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.31, y: 1.31, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5558585036946217141}
+  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: 108, y: 0}
+  m_SizeDelta: {x: 160, y: 40}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &9170237829049141499
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8768998982485598618}
+  m_CullTransparentMesh: 0
+--- !u!114 &3496798560382340890
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8768998982485598618}
+  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, g: 0, b: 0, 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: 42
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 50
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: Connect
+--- !u!114 &4982494374888122116
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8768998982485598618}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Connect_Title
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
+--- !u!1 &8868929180000214269
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3158952953477927028}
+  - component: {fileID: 3733525486549557909}
+  - component: {fileID: 4376220426203265049}
+  - component: {fileID: 2911722289039011756}
+  - component: {fileID: 6140602686656024724}
+  - component: {fileID: 1759230182153730729}
+  m_Layer: 5
+  m_Name: smartArcheryButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3158952953477927028
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8868929180000214269}
+  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: 8837371551426176277}
+  - {fileID: 678598712998616171}
+  - {fileID: 4108651249474846771}
+  m_Father: {fileID: 7822889146626897872}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 478, y: 124}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3733525486549557909
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8868929180000214269}
+  m_CullTransparentMesh: 1
+--- !u!114 &4376220426203265049
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8868929180000214269}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3d8b248a0c5c8064da7d90a778156b98, 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!114 &2911722289039011756
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8868929180000214269}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 4376220426203265049}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &6140602686656024724
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8868929180000214269}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &1759230182153730729
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8868929180000214269}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  targetRTF: {fileID: 0}
+  targetGraphic: {fileID: 0}
+  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
+  targetButton: {fileID: 0}
+  cellObj: {fileID: 0}
+  OnStartEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartArcheryButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+  OnEndEvent:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1415079815048020883}
+        m_TargetAssemblyTypeName: DeviceViewInfrared, Assembly-CSharp
+        m_MethodName: OnChangeSmartArcheryButtonState
+        m_Mode: 3
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: -1
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!1 &8880125622615480549
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8877235160740914775}
+  - component: {fileID: 5218443512998239074}
+  - component: {fileID: 7627441537867181464}
+  m_Layer: 5
+  m_Name: title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8877235160740914775
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8880125622615480549}
+  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: 1922190892495397972}
+  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: 310, y: -653.5}
+  m_SizeDelta: {x: 570, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5218443512998239074
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8880125622615480549}
+  m_CullTransparentMesh: 1
+--- !u!114 &7627441537867181464
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8880125622615480549}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 50
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 64
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "\u672A\u8FDE\u63A5"
+--- !u!1 &9222168600980044169
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8146888902267481947}
+  - component: {fileID: 5092413145572670187}
+  m_Layer: 5
+  m_Name: modalButtons
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8146888902267481947
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9222168600980044169}
+  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: 4070476414668758752}
+  - {fileID: 7425521948276828659}
+  - {fileID: 7822889146626897872}
+  - {fileID: 1355390331581377791}
+  m_Father: {fileID: 4242660785307798858}
+  m_RootOrder: 2
+  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_SizeDelta: {x: 530, y: 750}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &5092413145572670187
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9222168600980044169}
+  m_CullTransparentMesh: 0

+ 7 - 0
Assets/BowArrow/Resources/Prefabs/Views/Home/DeviceViewInfrared.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8c00a94c85210054082620191988ba78
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 1
Assets/BowArrow/Resources/Prefabs/Views/Home/SmartGunView.prefab

@@ -683,7 +683,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: Pistol
+  m_Text: Pistol M9
 --- !u!1 &8677266361160975224
 GameObject:
   m_ObjectHideFlags: 0
@@ -1052,6 +1052,7 @@ Canvas:
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
   m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
   m_AdditionalShaderChannelsFlag: 0
   m_SortingLayerID: 0
   m_SortingOrder: 1

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

@@ -38,7 +38,6 @@ RenderSettings:
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 0}
   m_Sun: {fileID: 0}
-  m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
   m_UseRadianceAmbientProbe: 0
 --- !u!157 &3
 LightmapSettings:
@@ -301,84 +300,3 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1001 &1119416687
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 0}
-    m_Modifications:
-    - target: {fileID: 597711437, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_AnchorMax.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 597711437, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_AnchorMax.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 597711437, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_AnchorMin.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1757196634, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_AnchorMax.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1757196634, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_AnchorMax.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1757196634, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_AnchorMin.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944584, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_Name
-      value: InfraredScreenPositioningView
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_RootOrder
-      value: 2
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: -0.698
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1063506209527944585, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 75d306b92ea3f374691a61c8c35bcf0a, type: 3}

+ 39 - 10
Assets/BowArrow/Scripts/Bluetooth/AimHandler.cs

@@ -295,6 +295,7 @@ public class AimDeviceInfos
             {
                 if (bytes[0] == 0x66 && bytes[1] == 0x31)
                 {
+                  
                     if (bInitOne)
                     {
                         bInitOne = false;
@@ -318,9 +319,29 @@ public class AimDeviceInfos
 
                         if (SB_EventSystem.ins && SB_EventSystem.ins.simulateMouseIsAwaked)
                         {
-                            //视角回正
-                            DoIdentity();
-                            //鼠标居中自然会居中
+                            //模拟鼠标弹出时候
+                            InfraredGuider infraredGuider = FindAnyObjectByType<InfraredGuider>();
+
+                            if (infraredGuider != null)
+                            {
+                                //待检测到用户操作了两次单击按键功能,进入下一步
+
+                                if (GameMgr.ButtonCount == 1)
+                                {
+                                    GameMgr.ButtonCount = 0;
+                                    infraredGuider.OnStep2ShootTest();
+                                }
+                                else
+                                {
+                                    GameMgr.ButtonCount++;
+                                }
+                            }
+                            else
+                            {
+                                //视角回正
+                                DoIdentity();
+                                //鼠标居中自然会居中
+                            }
                         }
                         else
                         {
@@ -493,10 +514,15 @@ public class AimDeviceInfos
         //准心开关
         if (GameAssistUI.ins)
         {
-            //显示控制准心按钮
-            Button crossHairBtn = GameAssistUI.ins.transform.Find("Button5").GetComponent<Button>();
-            crossHairBtn.onClick.Invoke();
-            ////如果没有distance一般都是正式游戏
+            InfraredGuider infraredGuider = FindAnyObjectByType<InfraredGuider>();
+            if (infraredGuider == null)
+            {
+                //显示控制准心按钮
+                Button crossHairBtn = GameAssistUI.ins.transform.Find("Button5").GetComponent<Button>();
+                crossHairBtn.onClick.Invoke();
+            }
+
+
             //if (GameMgr.bShowDistance)
             //{
             //    //显示控制准心按钮
@@ -522,9 +548,12 @@ public class AimDeviceInfos
         }
         else
         {
-            //水果
-            Button crossHairBtn = GameObject.Find("PermanentCanvas/CrossHair_Btn").GetComponent<Button>();
-            crossHairBtn.onClick.Invoke();
+            if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name.StartsWith("FruitMaster")){
+                //水果
+                Button crossHairBtn = GameObject.Find("PermanentCanvas/CrossHair_Btn").GetComponent<Button>();
+                crossHairBtn.onClick.Invoke();
+            }
+         
         }
     }
         /// <summary>

+ 7 - 2
Assets/BowArrow/Scripts/CommonConfig.cs

@@ -6,8 +6,8 @@ using UnityEngine;
 /**通用配置(2021/12/18新增) */
 public class CommonConfig
 {
-    //青凤鸾 WONDERFITTER
-    public static readonly string[] AppNames = { "WONDER FITTER 运动", "WONDER FITTER" };
+    //青凤鸾 WONDERFITTER ,WONDER FITTER Pro ,WONDER FITTER 运动
+    public static readonly string[] AppNames = { "WONDER FITTER Pro", "WONDER FITTER" };
     //App地区(0:国内版;1:海外版;)
     public static int AppArea
     {
@@ -109,4 +109,9 @@ public class CommonConfig
 #else
     public static bool EnableDecryption = false;
 #endif
+
+    /// <summary>
+    /// 是否打包红外软件App,这里主要和九轴有区别
+    /// </summary>
+    public static bool bInfraredApp { get; } = true;
 }

+ 4 - 1
Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/cn.json

@@ -513,7 +513,7 @@
   **/
   "Infrared-title": "屏幕定位说明",
   "Infrared-ScreenPositioning": "进入屏幕定位",
-  "Infrared-Step1": "先进行投屏,并将激光定位器放置于电视前方的0.5~2米处,使摄像头上仰朝向屏幕。",
+  "Infrared-Step1": "先进行投屏,并将激光定位器放置于电视前方,使摄像头上仰朝向屏幕。",
   "Infrared-Step2_title": "屏幕定位说明",
   "Infrared-Step2": "调整激光定位器位置和角度,使其可以清晰地拍摄到屏幕的四角。\n\n先点击自动按键进行屏幕识别,屏幕上会出现黑屏和白屏的图像,并通过软件识别屏幕的显示区域。\n\n如自动识别不准确,可以通过调整激光定位器位置或对图像对比度进行调节后,再次自动识别。如多次自动识别不合格,可点击手动功能,并通过手指点击拖动定位区域四个角进行调整。",
 
@@ -541,11 +541,14 @@
   "ResolutionSettings": "分辨率设置",
   "AmbientMetering": "环境测光",
   "ImageBrightness": "图像亮度",
+  "CameraSensitivity": "相机感光度",
+  "AbnormalIssues": "异常问题处理",
 
   /**
    红外连接后游戏测试页面
   **/
   "ShootingTest": "射击测试",
+  "BackShootingTest": "返回射击测试",
   "ImageContrast": "图像对比度",
   "ShootingTestTip": "保持画面里的屏幕没有白色光斑,如果有光斑,需要找出干扰光源关闭它,或调整摄像头支架位置以屏蔽它。",
 

+ 4 - 1
Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/en.json

@@ -562,7 +562,7 @@
   **/
   "Infrared-title": "Screen Positioning Instructions",
   "Infrared-ScreenPositioning": "Enter Screen Positioning",
-  "Infrared-Step1": "First, perform screen mirroring and place the laser locator 0.5 to 2 meters in front of the TV, with the camera tilted upward towards the screen.",
+  "Infrared-Step1": "First, cast the screen and place the laser locator in front of the TV, with the camera facing upwards towards the screen.",
   "Infrared-Step2_title": "Screen Positioning Instructions",
   "Infrared-Step2": "Adjust the position and angle of the laser locator so that it can clearly capture the four corners of the screen.\n\nFirst, click the auto button to perform screen recognition. The screen will display black and white images, and the software will identify the display area of the screen.\n\nIf automatic recognition is inaccurate, you can adjust the position of the laser locator or the image contrast, then try automatic recognition again. If multiple attempts at automatic recognition fail, you can click the manual function and use your finger to click and drag the four corners of the positioning area to adjust.",
 
@@ -590,11 +590,14 @@
   "ResolutionSettings": "Resolution Settings",
   "AmbientMetering": "Ambient Metering",
   "ImageBrightness": "Image Brightness",
+  "CameraSensitivity": "Camera Sensitivity",
+  "AbnormalIssues": "Abnormal Issues",
 
   /**
    红外连接后游戏测试页面
   **/
   "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.",
 

+ 8 - 0
Assets/BowArrow/Scripts/Game/Billboard.cs

@@ -60,6 +60,14 @@ public class Billboard : MonoBehaviour
         }
     }
 
+    private void Start()
+    {
+        if (GameMgr.HideBillboard) {
+            gameObject.SetActive(false);
+            GameMgr.HideBillboard = false;
+        } 
+    }
+
     void OnDestroy()
     {
         if (ins == this) ins = null;

+ 8 - 1
Assets/BowArrow/Scripts/Game/TargetView.cs

@@ -5,6 +5,7 @@ using UnityEngine.UI;
 /* 靶子画中画 */
 public class TargetView : MonoBehaviour
 {
+
     public void Show(bool value)
     {
         this.gameObject.SetActive(value);
@@ -38,7 +39,13 @@ public class TargetView : MonoBehaviour
             button.GetComponentInChildren<TextAutoLanguage>().SetText(204);
         }
     }
-
+    private void Start()
+    {
+        if (GameMgr.HideTargetView) {
+            Show(false);
+            GameMgr.HideTargetView = false;
+        }
+    }
     void OnEnable()
     {
         RefreshButton();

+ 4 - 0
Assets/BowArrow/Scripts/Manager/GameMgr.cs

@@ -18,6 +18,10 @@ public class GameMgr : MonoBehaviour
     public static bool bNavBack = false;
     public static bool bShowDistance = true;
 
+    //隐藏左边的靶子和底部速度牌
+    public static bool HideTargetView { get; set; } = false;
+    public static bool HideBillboard { get; set; } = false;
+    public static int ButtonCount { get; set; } = 0;
     void Awake() 
     {
         ins = this;

+ 1 - 1
Assets/BowArrow/Scripts/Manager/HomeMgr.cs

@@ -17,7 +17,7 @@ public class HomeMgr : MonoBehaviour
         ViewMgr.Instance.ShowView<HomeFrameView>();
         Instantiate(SceneResourceManager.Instance.GetPrefab("DeviceBatteryView"));
         Instantiate(SceneResourceManager.Instance.GetPrefab("AuthLoginMask"));
-        Instantiate(SceneResourceManager.Instance.GetPrefab("RenderBowCamera"));
+        //Instantiate(SceneResourceManager.Instance.GetPrefab("RenderBowCamera"));
         Instantiate(SceneResourceManager.Instance.GetPrefab("NewUserGuiderManager"));
         //标记某些界面不需要销毁
         ViewMgr.Instance.SetViewDontDestroy<GameStartView>();

+ 427 - 0
Assets/BowArrow/Scripts/View/Home/DeviceViewInfrared.cs

@@ -0,0 +1,427 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+/* 设备界面 */
+public class DeviceViewInfrared : JCUnityLib.ViewBase, MenuBackInterface
+{
+    //GameObject bowOptions;
+    [SerializeField] GameObject Connect1Parent;
+    [SerializeField] List<Button> smartConnect1Buttons;
+    [SerializeField] GameObject Connect2Parent;
+    [SerializeField] List<Button> smartConnect2Buttons;
+    [SerializeField] List<Sprite> smartArcheryBg;
+
+    [SerializeField] List<DeviceView_ItemShow> deviceViewItems;
+    //当前选择的对象类
+    [HideInInspector] public DeviceView_ItemShow selectDeviceViewItem;
+    public static DeviceViewInfrared ins;
+
+    public Action action_OnClickGyr;
+    public Action action_OnClickMag;
+
+    public HorizontalLayoutGroup horizontalLayoutGroup;
+
+    bool bSwitchDevice = false;
+
+
+
+    void Start()
+    {
+        ins = this;
+        PersistenHandler.ins?.menuBackCtr.views.Add(this);
+
+        //Button1 事件绑定
+        for (int i = 0; i < smartConnect1Buttons.Count; i++)
+        {
+            int temp = i;
+            smartConnect1Buttons[i].onClick.AddListener(()=>{
+                OnChangeSmartConnect1Button(temp);
+            });
+        }
+        OnChangeSmartArcheryButtonState((int)GlobalData.MyDeviceMode);
+
+        //Button2 事件绑定
+        for (int i = 0; i < smartConnect2Buttons.Count; i++)
+        {
+            int temp = i;
+            smartConnect2Buttons[i].onClick.AddListener(() => {
+                OnChangeSmartConnect2Button(temp);
+            });
+        }
+
+
+        AimHandler.ins.onCreateAimDeviceInfoById();
+
+        //默认选择第一个设备
+        deviceViewItems[0].OnSelectEvent();
+        //选择中的自动连接选择的对象
+        if (selectDeviceViewItem.getCurrentItemVisible() && ! selectDeviceViewItem.getBLEConnectState()) {
+            selectDeviceViewItem.OnConnectedEvent();
+        }
+
+        //先隐藏一个设备。如果连接之后,再显示2p,如果已经连接到蓝牙,直接显示
+        if (deviceViewItems[1].getBLEConnectState())
+        {
+            ShowDeviceViewItemsTwo(true);
+        }
+        else {
+            ShowDeviceViewItemsTwo(false);
+        }
+      
+    }
+
+    void OnDestroy()
+    {
+        if (ins == this) ins = null;
+        PersistenHandler.ins?.menuBackCtr.views.Remove(this);
+
+        //退出面板时候,取消正在连接的连接
+        BluetoothAim.ins.onCancelAllConnecting();
+
+    }
+
+    void Update()
+    {
+        //刷新按钮显示状态2P
+        if (BluetoothAim.ins)
+        {
+            if (selectDeviceViewItem != null)
+            {
+                if (selectDeviceViewItem.getCurrentItemVisible() && !bSwitchDevice)
+                {
+                    if (Connect1Parent.activeSelf) Connect1Parent.SetActive(false);
+                    if (!Connect2Parent.activeSelf) Connect2Parent.SetActive(true);
+
+                    if (Connect2Parent.activeSelf)
+                    {
+                        //判断是否显示连接还是断开按钮
+                        if (selectDeviceViewItem.getBLEConnectState())
+                        {
+                            if (smartConnect2Buttons[1].gameObject.activeSelf)
+                            {
+                                smartConnect2Buttons[1].gameObject.SetActive(false);
+                                smartConnect2Buttons[2].gameObject.SetActive(true);
+                            }
+                        }
+                        else
+                        {
+                            if (!smartConnect2Buttons[1].gameObject.activeSelf)
+                            {
+                                smartConnect2Buttons[1].gameObject.SetActive(true);
+                                smartConnect2Buttons[2].gameObject.SetActive(false);
+                            }
+                        }
+
+                    }
+                }
+                else
+                {
+                    if (!Connect1Parent.activeSelf) Connect1Parent.SetActive(true);
+                    if (Connect2Parent.activeSelf) Connect2Parent.SetActive(false);
+                }
+            }
+            else {
+                if (!Connect1Parent.activeSelf) Connect1Parent.SetActive(true);
+                if (Connect2Parent.activeSelf) Connect2Parent.SetActive(false);
+            }
+            //2p 按钮 ,两个同时蓝牙连接后。隐藏
+            if (deviceViewItems[0].getBLEConnectState() && deviceViewItems[1].getBLEConnectState())
+            {
+                if(smartConnect2Buttons[3].gameObject.activeSelf)
+                    smartConnect2Buttons[3].gameObject.SetActive(false);
+            }
+            else if(!smartConnect2Buttons[3].gameObject.activeSelf)
+            {
+                smartConnect2Buttons[3].gameObject.SetActive(true);
+            }
+          
+        }
+    }
+
+    void ShowDeviceViewItemsTwo(bool bShow) {
+
+        if (bShow)
+        {
+      
+            if (!deviceViewItems[1].gameObject.activeSelf)
+            {
+                deviceViewItems[1].gameObject.SetActive(true);
+                horizontalLayoutGroup.spacing = 40;
+                //显示2p时候。默认选择中
+                deviceViewItems[1].OnSelectEvent();
+            }
+        }
+        else
+        {
+            if (deviceViewItems[1].gameObject.activeSelf)
+            {
+                deviceViewItems[1].gameObject.SetActive(false);
+                horizontalLayoutGroup.spacing = 76;
+
+                deviceViewItems[0].OnSelectEvent();
+            }
+
+        }
+    }
+
+
+    public bool OnMenuBack() {
+        ViewMgr.Instance.DestroyView<DeviceViewInfrared>();
+        return true;
+    }
+
+    public void OnClick_Back() {
+        AudioMgr.ins.PlayBtn();
+        ViewMgr.Instance.DestroyView<DeviceViewInfrared>();
+    }
+
+
+
+    /// <summary>
+    /// 第一次进入页面选择的按钮的下标
+    /// </summary>
+    /// <param name="index"></param>
+    public void OnChangeSmartConnect1Button(int index)
+    {
+        bool _selected = false;
+        for (int i = 0; i < smartConnect1Buttons.Count; i++)
+        {
+            Button _button = smartConnect1Buttons[i];
+            Color32 _white;
+            if (index == i)
+            {
+                _white = new Color32(255, 255, 255, 255);
+                _selected = true;
+                _button.GetComponent<Image>().sprite = smartArcheryBg[1];
+
+            }
+            else
+            {
+                _white = new Color32(59, 59, 59, 255);
+                //_buttonBg = new Color32(255, 255, 255, 255);
+                _button.GetComponent<Image>().sprite = smartArcheryBg[0];
+
+
+            }
+            _button.transform.Find("icon").GetComponent<Image>().color = _white;
+            _button.transform.Find("title").GetComponent<Text>().color = _white;
+            _button.transform.Find("arrow").GetComponent<Image>().color = _white;
+        }
+        if (_selected)
+        {
+            //进入选中的页面
+            AudioMgr.ins.PlayBtn();
+            //设置一次 GlobalData.MyDeviceMode 
+            if (getEnabelPanelStatus())//是否处于选中状态
+            {
+
+                //取消正在连接的连接
+                BluetoothAim.ins.onCancelAllConnecting(BluetoothStatusEnum.Connect);
+
+                if (index == 0)
+                {
+                    ViewMgr.Instance.ShowView<SmartArcheryView>();
+                }
+                else if (index == 1)
+                {
+                    Debug.Log("Gun");
+                    ViewMgr.Instance.ShowView<SmartGunView>();
+                }
+
+                bSwitchDevice = false;
+                AimHandler.ins.onCreateTempAimDeviceInfo();
+            }
+        }
+    }
+
+    /// <summary>
+    /// 第二次进入页面时候。
+    /// </summary>
+    /// <param name="index"></param>
+    public void OnChangeSmartConnect2Button(int index)
+    {
+        //Debug.Log("OnChangeSmartConnect1Button按钮:" + index);
+        bool _selected = false;
+        for (int i = 0; i < smartConnect2Buttons.Count; i++)
+        {
+            Button _button = smartConnect2Buttons[i];
+            Color32 _white;
+            //Color32 _buttonBg;
+            if (index == i)
+            {
+                _white = new Color32(255, 255, 255, 255);
+                //_buttonBg = new Color32(16, 194, 198, 255);
+                _selected = true;
+                _button.GetComponent<Image>().sprite = smartArcheryBg[1];
+
+            }
+            else
+            {
+                _white = new Color32(59, 59, 59, 255);
+                //_buttonBg = new Color32(255, 255, 255, 255);
+                _button.GetComponent<Image>().sprite = smartArcheryBg[0];
+
+
+            }
+            _button.transform.Find("icon").GetComponent<Image>().color = _white;
+            _button.transform.Find("title").GetComponent<Text>().color = _white;
+            _button.transform.Find("arrow").GetComponent<Image>().color = _white;
+        }
+        if (_selected)
+        {
+            //进入选中的页面
+            AudioMgr.ins.PlayBtn();
+            //设置一次 GlobalData.MyDeviceMode 
+
+            switch (index)
+            {
+                case 0:
+                    //进入屏幕定位
+                    ViewManager2.ShowView(ViewManager2.Path_InfraredView);
+                    break;
+                case 1:
+                    //连接设备
+                    if (getEnabelPanelStatus())//是否处于选中状态
+                    {
+                        if (selectDeviceViewItem)
+                        {
+                            //有信息的情况下直接连接
+                            selectDeviceViewItem.OnConnectedEvent();
+                        }
+                        else {
+                            //取消正在连接的连接
+                            BluetoothAim.ins.onCancelAllConnecting(BluetoothStatusEnum.Connect);
+
+                            //进入弓箭选择页面
+                            ViewMgr.Instance.ShowView<SmartArcheryView>();
+
+                            AimHandler.ins.onCreateTempAimDeviceInfo();
+
+                        }
+                    
+                    }
+                    break;
+                case 2:
+                    //断开连接设备
+                    if (selectDeviceViewItem)
+                    {
+                        selectDeviceViewItem.OnDisConnectedEvent();
+                    }
+                    break;
+                case 3:
+                    //增加2p todo HOUYI Pro/ARTEMIS Pro时,先不能增加2P;(先隐藏,待后续增加2P后,再显示)
+                    if (!(BluetoothAim.ins && (BluetoothAim.ins.isMainConnectToInfraredDevice() || BluetoothAim.ins.isMainConnectToGun())))
+                    {
+
+                        ShowDeviceViewItemsTwo(true);
+                    }
+                    break;
+                case 4:
+                    //切换设备前先断开蓝牙连接
+                    if (selectDeviceViewItem)
+                    {
+                        selectDeviceViewItem.OnDisConnectedEvent();
+                    }
+                    bSwitchDevice = true;
+                    break;
+
+            }
+        }
+    }
+
+    //暂时先更新一个
+    public void RenderBattery(int deviceID, int value)
+    {
+        //smartConnect1Buttons[0].GetComponent<DeviceView_ItemShow>().RenderBattery(deviceID,value);
+    }
+
+
+    public void OnChangeSmartArcheryButtonState(int index)
+    {
+        for (int i = 0; i < smartConnect1Buttons.Count; i++)
+        {
+            Button _button = smartConnect1Buttons[i];
+            Color32 _white;
+            //Color32 _buttonBg;
+            if (index == i)
+            {
+                _white = new Color32(255, 255, 255, 255);
+                _button.GetComponent<Image>().sprite = smartArcheryBg[1];
+
+            }
+            else
+            {
+                _white = new Color32(59, 59, 59, 255);
+                _button.GetComponent<Image>().sprite = smartArcheryBg[0];
+
+
+            }
+            _button.transform.Find("icon").GetComponent<Image>().color = _white;
+            _button.transform.Find("title").GetComponent<Text>().color = _white;
+            _button.transform.Find("arrow").GetComponent<Image>().color = _white;
+        }
+
+    }
+
+    public void OnChangeSmartConnect2ButtonState(int index)
+    {
+        for (int i = 0; i < smartConnect2Buttons.Count; i++)
+        {
+            Button _button = smartConnect2Buttons[i];
+            Color32 _white;
+            //Color32 _buttonBg;
+            if (index == i)
+            {
+                _white = new Color32(255, 255, 255, 255);
+                _button.GetComponent<Image>().sprite = smartArcheryBg[1];
+
+            }
+            else
+            {
+                _white = new Color32(59, 59, 59, 255);
+                _button.GetComponent<Image>().sprite = smartArcheryBg[0];
+
+
+            }
+            _button.transform.Find("icon").GetComponent<Image>().color = _white;
+            _button.transform.Find("title").GetComponent<Text>().color = _white;
+            _button.transform.Find("arrow").GetComponent<Image>().color = _white;
+        }
+
+    }
+    /// <summary>
+    /// 一般是切换选择硬件时调用
+    /// </summary>
+    public void OnCloseAllPanelStatus() {
+
+        //重置一些按钮状态和参数
+        OnChangeSmartConnect1Button(-1);
+        OnChangeSmartConnect2Button(-1);
+        bSwitchDevice = false;
+        for (int i = 0; i < deviceViewItems.Count; i++)
+        {
+            deviceViewItems[i].setPanelStatus(false);
+        }
+
+    }
+    //检测是否选择一个设备情况。用选择框判断
+    public bool getEnabelPanelStatus() {
+        bool bHasEnabel = false;
+        for (int i = 0; i < deviceViewItems.Count; i++)
+        {
+            if (deviceViewItems[i].getCurrentPanelEnable()) {
+                bHasEnabel = true;
+                break;
+            }
+        }
+        return bHasEnabel;
+    }
+    public void onTestClear() {
+        AimHandler.ins.onClearAimDeviceInfosNew();
+    }
+
+}

+ 11 - 0
Assets/BowArrow/Scripts/View/Home/DeviceViewInfrared.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 49472160bfe460544b03146db75ea83e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 205 - 241
Assets/BowArrow/Scripts/View/Home/DeviceView_ItemShow.cs

@@ -17,6 +17,7 @@ public class DeviceView_ItemShow : MonoBehaviour
     [SerializeField] Sprite[] ConnectButtonImages;
     [SerializeField] GameObject process;
     [SerializeField] GameObject connected;
+    [SerializeField] GameObject unConnected;
     [SerializeField] Text titleText;
     [SerializeField] Text statusText;
 
@@ -41,6 +42,9 @@ public class DeviceView_ItemShow : MonoBehaviour
 
     //这个是处理设备下标
     [SerializeField] int deviceIndex = 0;
+
+    //是否存在连接信息。
+    bool bShowInfo = false;
     // Start is called before the first frame update
     // bool bProcess = false;
     private void Awake()
@@ -49,126 +53,81 @@ public class DeviceView_ItemShow : MonoBehaviour
     }
     void Start()
     {   //panel 按钮,选择状态。主要控制getPanelStatus
-        btnBg.onClick.AddListener(delegate ()
-        {
-            //如果是选中的状态,不再触发
-            if (getCurrentPanelEnable()) return;
-
-            AudioMgr.ins.PlayBtn();
-            AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
-            DeviceView.ins.OnCloseAllPanelStatus();
-            setPanelStatus(true);
-            //
-        });
+        btnBg.onClick.AddListener(OnSelectEvent);
 
         //addBtn 按钮
-        btnConnectBow.onClick.AddListener(delegate ()
-        {
-            AudioMgr.ins.PlayBtn();
-            //要选中情况下,才能进行下一步操作
-            if (!getPanelStatus()) return;
-            AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
-            AimHandler.ins.onCreateTempAimDeviceInfo();
-            //ViewMgr.Instance.ShowView<SmartArcheryView>();
-
-            if (GlobalData.MyDeviceMode == DeviceMode.Archery)
-            {
-                ViewMgr.Instance.ShowView<SmartArcheryView>();
-
-            }
-            else if (GlobalData.MyDeviceMode == DeviceMode.Gun)
-            {
-                ViewMgr.Instance.ShowView<SmartGunView>();
-            }
-            else
-            {
-
-                Debug.LogError("btnConnectBow 没有设置页面!!");
-            }
-        });
+        //btnConnectBow.onClick.AddListener(delegate ()
+        //{
+        //    AudioMgr.ins.PlayBtn();
+        //    //要选中情况下,才能进行下一步操作
+        //    if (!getPanelStatus()) return;
+        //    AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
+        //    AimHandler.ins.onCreateTempAimDeviceInfo();
+        //    //ViewMgr.Instance.ShowView<SmartArcheryView>();
+
+        //    if (GlobalData.MyDeviceMode == DeviceMode.Archery)
+        //    {
+        //        ViewMgr.Instance.ShowView<SmartArcheryView>();
+
+        //    }
+        //    else if (GlobalData.MyDeviceMode == DeviceMode.Gun)
+        //    {
+        //        ViewMgr.Instance.ShowView<SmartGunView>();
+        //    }
+        //    else
+        //    {
+
+        //        Debug.LogError("btnConnectBow 没有设置页面!!");
+        //    }
+        //});
         //init 按钮(有硬件信息才显示initStatus按钮)
-        initStatus.GetComponent<Button>().onClick.AddListener(delegate ()
-        {
-            AudioMgr.ins.PlayBtn();
-            //要选中情况下,才能进行下一步操作
-            if (!getPanelStatus()) return;
-            //选择此device index 跳转页面
-            AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
-            AimHandler.ins.onCreateTempAimDeviceInfo();
-
-            if (GlobalData.MyDeviceMode == DeviceMode.Archery)
-            {
-                //判断当前的信息是否是 HOUYI PRO,是的话直接跳转到pro初始化?
-                if (AimHandler.ins.isHOUYIPRO(bluetoothPlayer))
-                {
-                    //直接进入红外引导界面
-                    AimHandler.ins.SetTempAimDeviceType(AimDeviceType.HOUYIPRO);
-                    ViewManager2.ShowView(ViewManager2.Path_InfraredView);
-                } else if (AimHandler.ins.isARTEMISPro(bluetoothPlayer)) {
-
-                    //直接进入红外引导界面
-                    AimHandler.ins.SetTempAimDeviceType(AimDeviceType.ARTEMISPRO);
-                    ViewManager2.ShowView(ViewManager2.Path_InfraredView);
-                }
-                else
-                {
-                    ViewMgr.Instance.ShowView<SmartArcheryView>();
-                }
-
-            }
-            else if (GlobalData.MyDeviceMode == DeviceMode.Gun)
-            {
-                ViewMgr.Instance.ShowView<SmartGunView>();
-            }
-            else {
-
-                Debug.LogError("initStatus 没有设置页面!!");
-            }
-
-
-        });
-
-        ConnectButton.onClick.AddListener(delegate ()
-        {
-            AudioMgr.ins.PlayBtn();
-
-            //要选中情况下,才能进行下一步操作
-            if (!getPanelStatus()) return;
-
-            AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
-            AimHandler.ins.onCreateAimDeviceInfoById();
-
-            Debug.Log("DeviceView_ItemShow bluetoothPlayer:" + bluetoothPlayer);
-
-            if (BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess)
-            {
-                //断开连接
-                if (bluetoothPlayer == BluetoothPlayer.FIRST_PLAYER)
-                {
-                    BluetoothAim.ins.DoConnect();
-                }
-                else
-                {
-                    BluetoothAim.ins.DoConnect2P();
-                }
-                return;
-            }
-            //if (bProcess) return;
-            //bProcess = true;
-            if (HomeView.ShowProminentBeforeConnectBLE()) return;
-            if (!process.activeSelf) process.SetActive(true);
-            if (btnConnectBow.gameObject.activeSelf) btnConnectBow.gameObject.SetActive(false);
-            if (connected.activeSelf) connected.SetActive(false);
+        //initStatus.GetComponent<Button>().onClick.AddListener(delegate ()
+        //{
+        //    AudioMgr.ins.PlayBtn();
+        //    //要选中情况下,才能进行下一步操作
+        //    if (!getPanelStatus()) return;
+        //    //选择此device index 跳转页面
+        //    AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
+        //    AimHandler.ins.onCreateTempAimDeviceInfo();
+
+        //    if (GlobalData.MyDeviceMode == DeviceMode.Archery)
+        //    {
+        //        //判断当前的信息是否是 HOUYI PRO,是的话直接跳转到pro初始化?
+        //        if (AimHandler.ins.isHOUYIPRO(bluetoothPlayer))
+        //        {
+        //            //直接进入红外引导界面
+        //            AimHandler.ins.SetTempAimDeviceType(AimDeviceType.HOUYIPRO);
+        //            ViewManager2.ShowView(ViewManager2.Path_InfraredView);
+        //        } else if (AimHandler.ins.isARTEMISPro(bluetoothPlayer)) {
+
+        //            //直接进入红外引导界面
+        //            AimHandler.ins.SetTempAimDeviceType(AimDeviceType.ARTEMISPRO);
+        //            ViewManager2.ShowView(ViewManager2.Path_InfraredView);
+        //        }
+        //        else
+        //        {
+        //            ViewMgr.Instance.ShowView<SmartArcheryView>();
+        //        }
+
+        //    }
+        //    else if (GlobalData.MyDeviceMode == DeviceMode.Gun)
+        //    {
+        //        ViewMgr.Instance.ShowView<SmartGunView>();
+        //    }
+        //    else {
+
+        //        Debug.LogError("initStatus 没有设置页面!!");
+        //    }
+
+
+        //});
+
+        //ConnectButton.onClick.AddListener(delegate ()
+        //{
+        //    AudioMgr.ins.PlayBtn();
 
-            if (bluetoothPlayer == BluetoothPlayer.FIRST_PLAYER)
-            {
-                BluetoothAim.ins.DoConnect();
-            }
-            else
-            {
-                BluetoothAim.ins.DoConnect2P();
-            }
-        });
+        //    OnConnectedEvent();
+        //});
 
         //进入页面更新一次
         if (BluetoothAim.ins)
@@ -177,16 +136,9 @@ public class DeviceView_ItemShow : MonoBehaviour
             {
                 if (BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess)
                 {
-                    if (process.activeSelf) process.SetActive(false);
                     //连接后,更新电池状态
                     RenderBattery(DeviceBatteryView.ins.batteryDeviceID, DeviceBatteryView.ins.batteryValue);
-                    if (connected.activeSelf) onSetInitStatusInfo(true);
-                    ConnectButtonImage.sprite = ConnectButtonImages[0];
-                }
-                else
-                {
-                    if (connected.activeSelf) onSetInitStatusInfo(false);
-                    if (ConnectButtonImage.gameObject.activeSelf) ConnectButtonImage.sprite = ConnectButtonImages[1];
+                    if (unConnected.activeSelf) unConnected.SetActive(false);
                 }
             }
             else
@@ -196,16 +148,8 @@ public class DeviceView_ItemShow : MonoBehaviour
                       smartBowHelper.GetBluetoothStatus() == SmartBowSDK.BluetoothStatusEnum.Connected &&
                       BluetoothAim.ins.get2PBattery() > 0)
                 {
-                    if (process.activeSelf) process.SetActive(false);
                     //连接后,更新电池状态
                     RenderBattery(-1, BluetoothAim.ins.get2PBattery());
-                    if (connected.activeSelf) onSetInitStatusInfo(true);
-                    ConnectButtonImage.sprite = ConnectButtonImages[0];
-                }
-                else
-                {
-                    if (connected.activeSelf) onSetInitStatusInfo(false);
-                    if (ConnectButtonImage.gameObject.activeSelf) ConnectButtonImage.sprite = ConnectButtonImages[1];
                 }
             }
 
@@ -227,10 +171,8 @@ public class DeviceView_ItemShow : MonoBehaviour
             {
                 if (BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess)
                 {
-                    //Add 按钮
-                    if (btnConnectBow.gameObject.activeSelf) btnConnectBow.gameObject.SetActive(false);
-                    if (process.activeSelf) process.SetActive(false);
-                    if (!connected.activeSelf) connected.SetActive(true);
+                    //if (!connected.activeSelf) connected.SetActive(true);
+                    //if (unConnected.activeSelf) unConnected.SetActive(false);
                     //连接后,更新电池状态
                     if (countingTime1 < 5)
                     {
@@ -239,40 +181,20 @@ public class DeviceView_ItemShow : MonoBehaviour
                     else
                     {
                         countingTime1 = 0;
-                        //RequestBatteryForBow();
                         RenderBattery(DeviceBatteryView.ins.batteryDeviceID, DeviceBatteryView.ins.batteryValue);
-                        if (connected.activeSelf) onSetInitStatusInfo(true);
-                        ConnectButtonImage.sprite = ConnectButtonImages[0];
                     }
                 }
                 else if (BluetoothAim.ins.status != BluetoothStatusEnum.Connecting) //BluetoothAim.ins.status == BluetoothStatusEnum.ConnectFail
                 {
                     //如果连接失败,重置一下状态
-                    if (process.activeSelf) process.SetActive(false);
-                    if (connected.activeSelf)
-                    {
-                        onSetInitStatusInfo(false);
-                    }
-                    else
-                    {
-                        if (!process.activeSelf) onShowDeviceInfo();
-                    }
-                    if (bettery.activeSelf) bettery.SetActive(false);
-                    if (ConnectButtonImage.gameObject.activeSelf) ConnectButtonImage.sprite = ConnectButtonImages[1];
+                    onShowDeviceInfo();
+                    RenderBattery(-1, 0);
                 }
                 else
                 {
                     //连接状态或者正在连接等
-                    if (bettery.activeSelf) bettery.SetActive(false);
-                    if (connected.activeSelf)
-                    {
-                        onSetInitStatusInfo(false);
-                    }
-                    else
-                    {
-                        if (!process.activeSelf) onShowDeviceInfo();
-                    }
-                    if (ConnectButtonImage.gameObject.activeSelf) ConnectButtonImage.sprite = ConnectButtonImages[1];
+                    RenderBattery(-1, 0);
+                    onShowDeviceInfo();
                 }
 
             }
@@ -287,10 +209,8 @@ public class DeviceView_ItemShow : MonoBehaviour
                 //Debug.Log(bluetoothStatusEnum);
                 if (bluetoothStatusEnum == SmartBowSDK.BluetoothStatusEnum.Connected)
                 {
-                    //Add 按钮
-                    if (btnConnectBow.gameObject.activeSelf) btnConnectBow.gameObject.SetActive(false);
-                    if (process.activeSelf) process.SetActive(false);
-                    if (!connected.activeSelf) connected.SetActive(true);
+                    //if (!connected.activeSelf) connected.SetActive(true);
+                    //if (unConnected.activeSelf) unConnected.SetActive(false);
                     //连接后,更新电池状态
                     if (countingTime1 < 5)
                     {
@@ -299,66 +219,39 @@ public class DeviceView_ItemShow : MonoBehaviour
                     else
                     {
                         countingTime1 = 0;
-                        //RequestBatteryForBow();
                         RenderBattery(-1, BluetoothAim.ins.getSmartBowHelper2P().GetBattery());
-                        if (connected.activeSelf) onSetInitStatusInfo(true);
-                        ConnectButtonImage.sprite = ConnectButtonImages[0];
                     }
                 }
                 else if (bluetoothStatusEnum != SmartBowSDK.BluetoothStatusEnum.Connecting)//bluetoothStatusEnum == SmartBowSDK.BluetoothStatusEnum.None
                 {
                     //如果连接失败,重置一下状态
-                    if (process.activeSelf) process.SetActive(false);
-                    if (connected.activeSelf)
-                    {
-                        onSetInitStatusInfo(false);
-                    }
-                    else
-                    {
-                        if (!process.activeSelf) onShowDeviceInfo();
-                    }
-                    if (bettery.activeSelf) bettery.SetActive(false);
-                    if (ConnectButtonImage.gameObject.activeSelf) ConnectButtonImage.sprite = ConnectButtonImages[1];
+                    onShowDeviceInfo();
+                    RenderBattery(-1, 0);
                 }
                 else
                 {
                     //连接状态或者正在连接等
-                    if (bettery.activeSelf) bettery.SetActive(false);
-                    if (connected.activeSelf)
-                    {
-                        onSetInitStatusInfo(false);
-                    }
-                    else
-                    {
-                        if (!process.activeSelf) onShowDeviceInfo();
-                    }
-                    if (ConnectButtonImage.gameObject.activeSelf) ConnectButtonImage.sprite = ConnectButtonImages[1];
+                    RenderBattery(-1, 0);
+                    onShowDeviceInfo();
                 }
             }
 
             if (connected.activeSelf) onUpdateStatusInfo();
         }
 
-    }
-    void onSetInitStatusInfo(bool bActive)
-    {
-
-        //&& !initStatus.activeSelf
-        if (bActive)
+        //如果存在连接信息
+        if (bShowInfo)
         {
-            //initStatus.SetActive(true);
-            pointImage.sprite = pointImages[0];
-            rectangle.sprite = rectangles[0];
-            initStatusText.color = new Color32(255, 255, 255, 255);
+            if (unConnected.activeSelf) unConnected.SetActive(false);
+            if (!connected.activeSelf) connected.SetActive(true);
         }
         else
         {
-            pointImage.sprite = pointImages[1];
-            rectangle.sprite = rectangles[1];
-            initStatusText.color = new Color32(50, 50, 50, 255);
+            if (!unConnected.activeSelf) unConnected.SetActive(true);
+            if (connected.activeSelf) connected.SetActive(false);
         }
-
     }
+
     void RequestBatteryForBow()
     {
         try
@@ -375,7 +268,7 @@ public class DeviceView_ItemShow : MonoBehaviour
     public void RenderBattery(int deviceID, int value)
     {
 
-        if (!bettery.activeSelf) bettery.SetActive(true);
+        //if (!bettery.activeSelf) bettery.SetActive(true);
         Image img = betteryBar.GetComponent<Image>();
         Text txt = betteryValue.GetComponent<Text>();
         img.fillAmount = value / 100f;
@@ -390,15 +283,14 @@ public class DeviceView_ItemShow : MonoBehaviour
         //对象不存在
         if (aimDeviceInfo == null || aimDeviceInfo.type == -1 || !aimDeviceInfo.bInitMac)//AimHandler.ins.aimDeviceInfos.arry.Count <= deviceIndex
         {
-            if (!btnConnectBow.gameObject.activeSelf) btnConnectBow.gameObject.SetActive(true);
-            if (process.activeSelf) process.SetActive(false);
+            if (!unConnected.activeSelf) unConnected.SetActive(true);
             if (connected.activeSelf) connected.SetActive(false);
             return;
         }
 
         //Debug.Log("show aimDeviceInfo:" +  aimDeviceInfo.id + ", deviceSelectIndex:" + deviceIndex);
         //AimDeviceInfo aimDeviceInfo = AimHandler.ins.aimDeviceInfos.arry[deviceIndex];
-        bool bShow = true;
+        bShowInfo = true;
         switch ((AimDeviceType)aimDeviceInfo.type)
         {
             case AimDeviceType.HOUYI:
@@ -419,7 +311,7 @@ public class DeviceView_ItemShow : MonoBehaviour
                 break;
 
             case AimDeviceType.Gun:
-                titleText.text = "Pistol";
+                titleText.text = "Pistol M9";
                 bowBg.sprite = gunBgs[0];
                 break;
 
@@ -429,43 +321,12 @@ public class DeviceView_ItemShow : MonoBehaviour
                 break;
 
             default:
-                bShow = false;
+                bShowInfo = false;
                 // Debug.LogWarning("onShowDeviceInfo 没有对应设备 AimDeviceType:" + ((AimDeviceType)aimDeviceInfo.type).ToString());
                 break;
         }
-        //如果不是process状态下,可刷新对应按钮显示。process 说明在搜索
-        if (!process.activeSelf)
-        {
-            if (bShow)
-            {
-                if (btnConnectBow.gameObject.activeSelf) btnConnectBow.gameObject.SetActive(false);
-                if (!connected.activeSelf) connected.SetActive(true);
-            }
-            else
-            {
-                if (!btnConnectBow.gameObject.activeSelf) btnConnectBow.gameObject.SetActive(true);
-                if (connected.activeSelf) connected.SetActive(false);
-            }
-        }
 
-
-
-        //switch ((AimDeviceType)aimDeviceInfo.type)
-        //{
-        //    case AimDeviceType.HOUYI:
-        //        titleText.text = "HOUYI";
-        //        bowBg.sprite = bowBgs[0];
-        //        break;
-        //    case AimDeviceType.HOUYI2:
-        //        titleText.text = "HOUYI 2";
-        //        bowBg.sprite = bowBgs[0];
-        //        break;
-        //    case AimDeviceType.ARTEMIS:
-        //        titleText.text = "ARTEMIS";
-        //        bowBg.sprite = bowBgs[1];
-        //        break;
-        //}
-        onUpdateStatusInfo();
+        //onUpdateStatusInfo();
     }
     //刷新状态
     public void onUpdateStatusInfo()
@@ -495,6 +356,8 @@ public class DeviceView_ItemShow : MonoBehaviour
         selectPanel.enabled = _active;
         if (_active)
         {
+            //赋值一下当前选择的对象
+            DeviceViewInfrared.ins.selectDeviceViewItem = this;
             //选择框选择到的当前蓝牙用户
             BluetoothAim.ins.setBLEPlayer(bluetoothPlayer);
             Debug.Log("当前选择的操作蓝牙用户:" + BluetoothAim.ins.getBLEPlayer());
@@ -508,7 +371,7 @@ public class DeviceView_ItemShow : MonoBehaviour
     {
         bool _enable = selectPanel.enabled;
         //设置一次
-        DeviceView.ins.OnCloseAllPanelStatus();
+        DeviceViewInfrared.ins.OnCloseAllPanelStatus();
         setPanelStatus(true);
         return _enable;
     }
@@ -516,4 +379,105 @@ public class DeviceView_ItemShow : MonoBehaviour
     {
         return selectPanel.enabled;
     }
+
+    public bool getBLEConnectState() {
+
+        if (bluetoothPlayer == BluetoothPlayer.FIRST_PLAYER) {
+            return BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess;
+        }
+        else if (bluetoothPlayer == BluetoothPlayer.SECONDE_PLAYER)
+        {
+            SmartBowSDK.SmartBowHelper smartBowHelper = BluetoothAim.ins.getSmartBowHelper2P();
+            if (smartBowHelper == null) return false;
+            SmartBowSDK.BluetoothStatusEnum bluetoothStatusEnum = smartBowHelper.GetBluetoothStatus();
+            return bluetoothStatusEnum == SmartBowSDK.BluetoothStatusEnum.Connected;
+        }else   return false;
+
+    }
+
+    /// <summary>
+    /// 蓝牙连接事件,连接和断开连接
+    /// </summary>
+    public void OnConnectedEvent()
+    {
+        //要选中情况下,才能进行下一步操作
+        if (!getPanelStatus()) return;
+
+        AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
+        AimHandler.ins.onCreateAimDeviceInfoById();
+
+        Debug.Log("DeviceView_ItemShow bluetoothPlayer:" + bluetoothPlayer);
+
+        if (BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess)
+        {
+            //断开连接
+            if (bluetoothPlayer == BluetoothPlayer.FIRST_PLAYER)
+            {
+                BluetoothAim.ins.DoConnect();
+            }
+            else
+            {
+                BluetoothAim.ins.DoConnect2P();
+            }
+            return;
+        }
+        if (HomeView.ShowProminentBeforeConnectBLE()) return;
+
+        if (bluetoothPlayer == BluetoothPlayer.FIRST_PLAYER)
+        {
+            BluetoothAim.ins.DoConnect();
+        }
+        else
+        {
+            BluetoothAim.ins.DoConnect2P();
+        }
+    }
+    /// <summary>
+    /// 断开蓝牙连接
+    /// </summary>
+    public void OnDisConnectedEvent()
+    {
+        //要选中情况下,才能进行下一步操作
+        if (!getPanelStatus()) return;
+
+        AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
+        AimHandler.ins.onCreateAimDeviceInfoById();
+
+        Debug.Log("OnDisConnectedEvent bluetoothPlayer:" + bluetoothPlayer);
+
+        if (BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess)
+        {
+            //断开连接
+            if (bluetoothPlayer == BluetoothPlayer.FIRST_PLAYER)
+            {
+                BluetoothAim.ins.DoConnect();
+            }
+            else
+            {
+                BluetoothAim.ins.DoConnect2P();
+            }
+        }
+    }
+    /// <summary>
+    /// 选择事件
+    /// </summary>
+    public void OnSelectEvent() {
+
+        //如果是选中的状态,不再触发
+        if (getCurrentPanelEnable()) return;
+
+        AudioMgr.ins.PlayBtn();
+        AimHandler.ins.SetAimDeviceSelectIndex(deviceIndex);
+        DeviceViewInfrared.ins.OnCloseAllPanelStatus();
+        setPanelStatus(true);
+    }
+
+    /// <summary>
+    /// 如果有选择到并且显示的话
+    /// </summary>
+    /// <returns></returns>
+    public bool getCurrentItemVisible()
+    {
+        return selectPanel.enabled && bShowInfo;
+    }
 }

+ 1 - 1
Assets/BowArrow/Scripts/View/Home/HomeView.cs

@@ -272,7 +272,7 @@ public class HomeView : JCUnityLib.ViewBase
 
     public void OnClick_ShowDeviceView() {
         AudioMgr.ins.PlayBtn();
-        ViewMgr.Instance.ShowView<DeviceView>();
+        ViewMgr.Instance.ShowView<DeviceViewInfrared>();
     }
 
     public void RenderNameOrGender() {

+ 1 - 1
Assets/BowArrow/Scripts/View/Home/HomeView_BottomBarView.cs

@@ -19,7 +19,7 @@ public class HomeView_BottomBarView : MonoBehaviour
     public void GoToConnect() {
         Debug.Log("进入连接页面");
         AudioMgr.ins.PlayBtn();
-        ViewMgr.Instance.ShowView<DeviceView>();
+        ViewMgr.Instance.ShowView<DeviceViewInfrared>();
     }
 
 

BIN
Assets/BowArrow/Textures/Device/iconAdd2P.png


+ 123 - 0
Assets/BowArrow/Textures/Device/iconAdd2P.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 6a6d2381da5cb514181dd440ab605fae
+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: 1537655665
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/BowArrow/Textures/Device/iconConnect.png


+ 2 - 2
Assets/InfraredProject/WebCamera/Image/测试图片.png.meta → Assets/BowArrow/Textures/Device/iconConnect.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: d3a5d442a677a7f4aa8dead09e3904ac
+guid: 10192bd2685a6bc408dbab2b92ef2988
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}
@@ -20,7 +20,7 @@ TextureImporter:
     externalNormalMap: 0
     heightScale: 0.25
     normalMapFilter: 0
-  isReadable: 1
+  isReadable: 0
   streamingMipmaps: 0
   streamingMipmapsPriority: 0
   vTOnly: 0

BIN
Assets/BowArrow/Textures/Device/iconInfraredScreen.png


+ 123 - 0
Assets/BowArrow/Textures/Device/iconInfraredScreen.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 5be985b52bd106340906aeaa0b30f6d4
+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: 

BIN
Assets/BowArrow/Textures/Device/iconSwitchDevice.png


+ 123 - 0
Assets/BowArrow/Textures/Device/iconSwitchDevice.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: dcb93abd770a13d458ca6773fbbe868e
+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: 

BIN
Assets/BowArrow/Textures/Device/iconUnConnect.png


+ 123 - 0
Assets/BowArrow/Textures/Device/iconUnConnect.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 1dc6c4827204e02408a74bd50e23d615
+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: 

BIN
Assets/BowArrow/Textures/Device/player_bg.png


+ 2 - 2
Assets/BowArrow/Textures/Device/player_bg.png.meta

@@ -48,7 +48,7 @@ TextureImporter:
   alignment: 0
   spritePivot: {x: 0.5, y: 0.5}
   spritePixelsToUnits: 100
-  spriteBorder: {x: 18, y: 22, z: 18, w: 14}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteGenerateFallbackPhysicsShape: 1
   alphaUsage: 1
   alphaIsTransparency: 1
@@ -67,7 +67,7 @@ TextureImporter:
   platformSettings:
   - serializedVersion: 3
     buildTarget: DefaultTexturePlatform
-    maxTextureSize: 2048
+    maxTextureSize: 512
     resizeAlgorithm: 0
     textureFormat: -1
     textureCompression: 1

BIN
Assets/BowArrow/Textures/Device/player_bg_select.png


+ 123 - 0
Assets/BowArrow/Textures/Device/player_bg_select.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: f81125fda63f64248b0a35a67346bf33
+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: 512
+    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: 

+ 110 - 62
Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace01.unity

@@ -158,7 +158,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: -77, y: -20}
+  m_AnchoredPosition: {x: -8, y: -30}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &944969
@@ -215,7 +215,7 @@ MonoBehaviour:
   m_fontSizeMin: 18
   m_fontSizeMax: 72
   m_fontStyle: 1
-  m_HorizontalAlignment: 1
+  m_HorizontalAlignment: 2
   m_VerticalAlignment: 512
   m_textAlignment: 65535
   m_characterSpacing: 0
@@ -1080,13 +1080,13 @@ MonoBehaviour:
   m_faceColor:
     serializedVersion: 2
     rgba: 4294967295
-  m_fontSize: 28
-  m_fontSizeBase: 28
+  m_fontSize: 60
+  m_fontSizeBase: 60
   m_fontWeight: 400
   m_enableAutoSizing: 0
   m_fontSizeMin: 18
   m_fontSizeMax: 72
-  m_fontStyle: 0
+  m_fontStyle: 1
   m_HorizontalAlignment: 2
   m_VerticalAlignment: 512
   m_textAlignment: 65535
@@ -1895,7 +1895,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: 140, y: -8.3}
+  m_AnchoredPosition: {x: 142.5, y: -8.3}
   m_SizeDelta: {x: 200, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &469560292
@@ -2142,7 +2142,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u8FD4\u56DE\u4E0A\u4E00\u5173"
+  m_Text: "\u8FD4\u56DE\u4E0A\u4E00\u9875"
 --- !u!222 &478941981
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -2843,6 +2843,7 @@ MonoBehaviour:
   - {fileID: 1344082928}
   - {fileID: 64299057}
   - {fileID: 1448217305}
+  - {fileID: 959593320}
   Clips:
   - {fileID: 0}
   - {fileID: 0}
@@ -4163,6 +4164,82 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 948674113}
   m_CullTransparentMesh: 1
+--- !u!1 &959593319
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 959593322}
+  - component: {fileID: 959593321}
+  - component: {fileID: 959593320}
+  m_Layer: 5
+  m_Name: Image (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &959593320
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4b170255e321c974d97ac237a55d1e17, 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!222 &959593321
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  m_CullTransparentMesh: 1
+--- !u!224 &959593322
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  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: 1219179819}
+  m_RootOrder: 3
+  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: 62.8, y: 16}
+  m_SizeDelta: {x: 40, y: 40}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &991610503
 GameObject:
   m_ObjectHideFlags: 0
@@ -5053,7 +5130,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 23, y: 23}
+  m_AnchoredPosition: {x: 23, y: 78}
   m_SizeDelta: {x: 287, y: 59}
   m_Pivot: {x: 0, y: 0}
 --- !u!114 &1190588249
@@ -5241,6 +5318,7 @@ RectTransform:
   - {fileID: 1344082926}
   - {fileID: 64299055}
   - {fileID: 1448217303}
+  - {fileID: 959593322}
   m_Father: {fileID: 613881825}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -5469,29 +5547,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1220786323}
   m_CullTransparentMesh: 1
---- !u!114 &1220786328
-MonoBehaviour:
+--- !u!65 &1220786328
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1220786323}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1233954229
 GameObject:
   m_ObjectHideFlags: 0
@@ -5681,7 +5749,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: 29.3, y: -90}
+  m_AnchoredPosition: {x: 29.3, y: -132.91}
   m_SizeDelta: {x: 430.69, y: 49.5}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1261969196
@@ -6640,29 +6708,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1452188145}
   m_CullTransparentMesh: 1
---- !u!114 &1452188150
-MonoBehaviour:
+--- !u!65 &1452188150
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1452188145}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1455452736
 GameObject:
   m_ObjectHideFlags: 0
@@ -6699,7 +6757,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: -77, y: -60}
+  m_AnchoredPosition: {x: -4.0000134, y: -68.6}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1455452738
@@ -7742,29 +7800,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1688059641}
   m_CullTransparentMesh: 1
---- !u!114 &1688059646
-MonoBehaviour:
+--- !u!65 &1688059646
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1688059641}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1719776955
 GameObject:
   m_ObjectHideFlags: 0
@@ -14126,7 +14174,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: 66, y: -20}
+  m_AnchoredPosition: {x: -3.4, y: -87.65}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &2091816791

+ 110 - 62
Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace02.unity

@@ -158,7 +158,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: -77, y: -20}
+  m_AnchoredPosition: {x: -8, y: -30}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &944969
@@ -215,7 +215,7 @@ MonoBehaviour:
   m_fontSizeMin: 18
   m_fontSizeMax: 72
   m_fontStyle: 1
-  m_HorizontalAlignment: 1
+  m_HorizontalAlignment: 2
   m_VerticalAlignment: 512
   m_textAlignment: 65535
   m_characterSpacing: 0
@@ -1080,13 +1080,13 @@ MonoBehaviour:
   m_faceColor:
     serializedVersion: 2
     rgba: 4294967295
-  m_fontSize: 28
-  m_fontSizeBase: 28
+  m_fontSize: 60
+  m_fontSizeBase: 60
   m_fontWeight: 400
   m_enableAutoSizing: 0
   m_fontSizeMin: 18
   m_fontSizeMax: 72
-  m_fontStyle: 0
+  m_fontStyle: 1
   m_HorizontalAlignment: 2
   m_VerticalAlignment: 512
   m_textAlignment: 65535
@@ -1895,7 +1895,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: 140, y: -8.3}
+  m_AnchoredPosition: {x: 142.5, y: -8.3}
   m_SizeDelta: {x: 200, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &469560292
@@ -2142,7 +2142,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u8FD4\u56DE\u4E0A\u4E00\u5173"
+  m_Text: "\u8FD4\u56DE\u4E0A\u4E00\u9875"
 --- !u!222 &478941981
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -2843,6 +2843,7 @@ MonoBehaviour:
   - {fileID: 1344082928}
   - {fileID: 64299057}
   - {fileID: 1448217305}
+  - {fileID: 959593320}
   Clips:
   - {fileID: 0}
   - {fileID: 0}
@@ -4163,6 +4164,82 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 948674113}
   m_CullTransparentMesh: 1
+--- !u!1 &959593319
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 959593322}
+  - component: {fileID: 959593321}
+  - component: {fileID: 959593320}
+  m_Layer: 5
+  m_Name: Image (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &959593320
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4b170255e321c974d97ac237a55d1e17, 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!222 &959593321
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  m_CullTransparentMesh: 1
+--- !u!224 &959593322
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  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: 1219179819}
+  m_RootOrder: 3
+  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: 62.8, y: 16}
+  m_SizeDelta: {x: 40, y: 40}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &991610503
 GameObject:
   m_ObjectHideFlags: 0
@@ -5053,7 +5130,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 23, y: 23}
+  m_AnchoredPosition: {x: 23, y: 78}
   m_SizeDelta: {x: 287, y: 59}
   m_Pivot: {x: 0, y: 0}
 --- !u!114 &1190588249
@@ -5241,6 +5318,7 @@ RectTransform:
   - {fileID: 1344082926}
   - {fileID: 64299055}
   - {fileID: 1448217303}
+  - {fileID: 959593322}
   m_Father: {fileID: 613881825}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -5469,29 +5547,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1220786323}
   m_CullTransparentMesh: 1
---- !u!114 &1220786328
-MonoBehaviour:
+--- !u!65 &1220786328
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1220786323}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1233954229
 GameObject:
   m_ObjectHideFlags: 0
@@ -5681,7 +5749,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: 29.3, y: -90}
+  m_AnchoredPosition: {x: 29.3, y: -132.91}
   m_SizeDelta: {x: 430.69, y: 49.5}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1261969196
@@ -6640,29 +6708,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1452188145}
   m_CullTransparentMesh: 1
---- !u!114 &1452188150
-MonoBehaviour:
+--- !u!65 &1452188150
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1452188145}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1455452736
 GameObject:
   m_ObjectHideFlags: 0
@@ -6699,7 +6757,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: -77, y: -60}
+  m_AnchoredPosition: {x: -4.0000134, y: -68.6}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1455452738
@@ -7742,29 +7800,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1688059641}
   m_CullTransparentMesh: 1
---- !u!114 &1688059646
-MonoBehaviour:
+--- !u!65 &1688059646
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1688059641}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1719776955
 GameObject:
   m_ObjectHideFlags: 0
@@ -14126,7 +14174,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: 66, y: -20}
+  m_AnchoredPosition: {x: -3.4, y: -87.65}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &2091816791

+ 1 - 1
Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace02.unity.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a8f19bc110806934f963b49a6dcb0c70
+guid: 8b4b4cd86ef030d41a518cef70709fc1
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 110 - 62
Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace03.unity

@@ -158,7 +158,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: -77, y: -20}
+  m_AnchoredPosition: {x: -8, y: -30}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &944969
@@ -215,7 +215,7 @@ MonoBehaviour:
   m_fontSizeMin: 18
   m_fontSizeMax: 72
   m_fontStyle: 1
-  m_HorizontalAlignment: 1
+  m_HorizontalAlignment: 2
   m_VerticalAlignment: 512
   m_textAlignment: 65535
   m_characterSpacing: 0
@@ -1080,13 +1080,13 @@ MonoBehaviour:
   m_faceColor:
     serializedVersion: 2
     rgba: 4294967295
-  m_fontSize: 28
-  m_fontSizeBase: 28
+  m_fontSize: 60
+  m_fontSizeBase: 60
   m_fontWeight: 400
   m_enableAutoSizing: 0
   m_fontSizeMin: 18
   m_fontSizeMax: 72
-  m_fontStyle: 0
+  m_fontStyle: 1
   m_HorizontalAlignment: 2
   m_VerticalAlignment: 512
   m_textAlignment: 65535
@@ -1895,7 +1895,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: 140, y: -8.3}
+  m_AnchoredPosition: {x: 142.5, y: -8.3}
   m_SizeDelta: {x: 200, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &469560292
@@ -2142,7 +2142,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u8FD4\u56DE\u4E0A\u4E00\u5173"
+  m_Text: "\u8FD4\u56DE\u4E0A\u4E00\u9875"
 --- !u!222 &478941981
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -2843,6 +2843,7 @@ MonoBehaviour:
   - {fileID: 1344082928}
   - {fileID: 64299057}
   - {fileID: 1448217305}
+  - {fileID: 959593320}
   Clips:
   - {fileID: 0}
   - {fileID: 0}
@@ -4163,6 +4164,82 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 948674113}
   m_CullTransparentMesh: 1
+--- !u!1 &959593319
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 959593322}
+  - component: {fileID: 959593321}
+  - component: {fileID: 959593320}
+  m_Layer: 5
+  m_Name: Image (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &959593320
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 4b170255e321c974d97ac237a55d1e17, 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!222 &959593321
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  m_CullTransparentMesh: 1
+--- !u!224 &959593322
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959593319}
+  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: 1219179819}
+  m_RootOrder: 3
+  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: 62.8, y: 16}
+  m_SizeDelta: {x: 40, y: 40}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &991610503
 GameObject:
   m_ObjectHideFlags: 0
@@ -5053,7 +5130,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 23, y: 23}
+  m_AnchoredPosition: {x: 25, y: 78}
   m_SizeDelta: {x: 287, y: 59}
   m_Pivot: {x: 0, y: 0}
 --- !u!114 &1190588249
@@ -5241,6 +5318,7 @@ RectTransform:
   - {fileID: 1344082926}
   - {fileID: 64299055}
   - {fileID: 1448217303}
+  - {fileID: 959593322}
   m_Father: {fileID: 613881825}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -5469,29 +5547,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1220786323}
   m_CullTransparentMesh: 1
---- !u!114 &1220786328
-MonoBehaviour:
+--- !u!65 &1220786328
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1220786323}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1233954229
 GameObject:
   m_ObjectHideFlags: 0
@@ -5681,7 +5749,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: 29.3, y: -90}
+  m_AnchoredPosition: {x: 29.3, y: -132.91}
   m_SizeDelta: {x: 430.69, y: 49.5}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1261969196
@@ -6640,29 +6708,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1452188145}
   m_CullTransparentMesh: 1
---- !u!114 &1452188150
-MonoBehaviour:
+--- !u!65 &1452188150
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1452188145}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1455452736
 GameObject:
   m_ObjectHideFlags: 0
@@ -6699,7 +6757,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: -77, y: -60}
+  m_AnchoredPosition: {x: -4.0000134, y: -68.6}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1455452738
@@ -7742,29 +7800,19 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1688059641}
   m_CullTransparentMesh: 1
---- !u!114 &1688059646
-MonoBehaviour:
+--- !u!65 &1688059646
+BoxCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1688059641}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 9041465d981afb74e8861a84f98f2dbd, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetRTF: {fileID: 0}
-  targetGraphic: {fileID: 0}
-  selectedColor: {r: 1, g: 1, b: 1, a: 0.6}
-  targetButton: {fileID: 0}
-  cellObj: {fileID: 0}
-  OnStartEvent:
-    m_PersistentCalls:
-      m_Calls: []
-  OnEndEvent:
-    m_PersistentCalls:
-      m_Calls: []
+  serializedVersion: 2
+  m_Size: {x: 120, y: 30, z: 1}
+  m_Center: {x: 60, y: -15, z: 0}
 --- !u!1 &1719776955
 GameObject:
   m_ObjectHideFlags: 0
@@ -14126,7 +14174,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: 66, y: -20}
+  m_AnchoredPosition: {x: -3.4, y: -87.65}
   m_SizeDelta: {x: 80, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &2091816791

+ 1 - 1
Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace03.unity.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e89fd004630b8c4429343aed55df58ab
+guid: c11ebb4255a33d0468433bf8ef2fc8dc
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 105 - 99
Assets/Game_Hyperspace/Script/Font.cs

@@ -7,126 +7,132 @@ using UnityEngine.UI;
 
 namespace HyperspaceGame
 {
-public class Font : MonoBehaviour
-{
-    public List<Sprite> sprites = new();
-    public List<Image> coms = new();
-    public List<Image> overScore = new();
-    public List<Image> Clips = new();
-
-    private int _num;
-    private int bullet;
-    public int Text
+    public class Font : MonoBehaviour
     {
-        set
-        {
-            _num = value;
-            UpdateNum();
-            UpdateNum1();
-        }
-    }
+        public List<Sprite> sprites = new();
+        public List<Image> coms = new();
+        public List<Image> overScore = new();
+        public List<Image> Clips = new();
 
-    public int Clip 
-	{
-		set
+        private int _num;
+        private int bullet;
+        public int Text
         {
-            bullet = value;
-            UpdateClip();
+            set
+            {
+                _num = value;
+                UpdateNum();
+                UpdateNum1();
+            }
         }
-        get { return bullet; }
-    }
-    private void Start()
-    {
-        Text = 0;
-    }
 
-    public void UpdateNum()
-    {
-        string[] ss = DefinitionScore(_num);
-        var nums = SplitDigits(ss);
-        for (int i = 0; i < coms.Count; i++)
+        public int Clip
         {
-            coms[i].sprite = sprites[nums[i]];
+            set
+            {
+                bullet = value;
+                UpdateClip();
+            }
+            get { return bullet; }
         }
-    }
-    public void UpdateNum1()
-    {
-        string[] ss = DefinitionScore(_num, 3);
-        var nums = SplitDigits(ss);
-        for (int i = 0; i < overScore.Count; i++)
+        private void Start()
         {
-            overScore[i].sprite = sprites[nums[i]];
+            Text = 0;
         }
-    }
-
-    public void UpdateClip()
-    {
-        //string[] ss = NumberBullets(bullet);
-        //var nums = SplitDigits(ss);
-        //for (int i = 0; i < Clips.Count; i++)
-        //{
-        //    Clips[i].sprite = sprites[nums[i]];
-        //}
-    }
 
-    public void ShowOverScore()
-    {
-        string[] ss = DefinitionScore(_num);
-        var nums = SplitDigits(ss);
-        for (int i = 0; i < coms.Count; i++)
+        public void UpdateNum()
         {
-            coms[i].sprite = sprites[nums[i]];
+            string[] ss = DefinitionScore(_num);
+            var nums = SplitDigits(ss);
+            for (int i = 0; i < coms.Count; i++)
+            {
+                coms[i].sprite = sprites[nums[i]];
+            }
         }
-    }
-
-    public List<int> SplitDigits(int num)
-    {
-        List<int> nums = new();
-        while (num > 0)
+        public void UpdateNum1()
         {
-            int digit = num % 10;
-            nums.Add(digit);
-            num /= 10;
+            string[] ss = DefinitionScore(_num, 3);
+            var nums = SplitDigits(ss);
+            for (int i = 0; i < overScore.Count; i++)
+            {
+                if (nums.Count > i)
+                {
+                    overScore[i].sprite = sprites[nums[i]];
+                    overScore[i].gameObject.SetActive(true);
+                }
+                else
+                    overScore[i].gameObject.SetActive(false);
+            }
         }
-        return nums;
-    }
-    public string[] NumberBullets(int num)
-    {
-        List<string> nub = new();
-        string ss = string.Format("{0:D2}", num);
-        for (int i = 0; i < ss.Length; i++)
+
+        public void UpdateClip()
         {
-            nub.Add(ss.Substring(i, 1));
+            //string[] ss = NumberBullets(bullet);
+            //var nums = SplitDigits(ss);
+            //for (int i = 0; i < Clips.Count; i++)
+            //{
+            //    Clips[i].sprite = sprites[nums[i]];
+            //}
         }
-        return nub.ToArray();
-    }
 
+        //public void ShowOverScore()
+        //{
+        //    string[] ss = DefinitionScore(_num);
+        //    var nums = SplitDigits(ss);
+        //    for (int i = 0; i < coms.Count; i++)
+        //    {
+        //        coms[i].sprite = sprites[nums[i]];
+        //    }
+        //}
 
-    public string[] DefinitionScore(int num, int count = 5)
-    {
-        List<string> nub = new();
-        string ss = "";
-        if (count == 5)
-            ss = string.Format("{0:D5}", num);
-        else if (count == 3)
-            ss = string.Format("{0:D3}", num);
-        for (int i = 0; i < ss.Length; i++)
+        //public List<int> SplitDigits(int num)
+        //{
+        //    List<int> nums = new();
+        //    while (num > 0)
+        //    {
+        //        int digit = num % 10;
+        //        nums.Add(digit);
+        //        num /= 10;
+        //    }
+        //    return nums;
+        //}
+
+        //public string[] NumberBullets(int num)
+        //{
+        //    List<string> nub = new();
+        //    string ss = string.Format("{0:D2}", num);
+        //    for (int i = 0; i < ss.Length; i++)
+        //    {
+        //        nub.Add(ss.Substring(i, 1));
+        //    }
+        //    return nub.ToArray();
+        //}
+
+
+        public string[] DefinitionScore(int num, int count = 5)
         {
-            nub.Add(ss.Substring(i, 1));
-        }
+            List<string> nub = new();
+            string ss = "";
+            if (count == 5)
+                ss = string.Format("{0:D5}", num);
+            else if (count == 3)
+                ss = string.Format("{0:D3}", num);
+            for (int i = 0; i < ss.Length; i++)
+            {
+                nub.Add(ss.Substring(i, 1));
+            }
 
-        return nub.ToArray();
-    }
+            return nub.ToArray();
+        }
 
-    public List<int> SplitDigits(string[] num)
-    {
-        List<int> nums = new();
-        foreach (var item in num)
+        public List<int> SplitDigits(string[] num)
         {
-            nums.Add(int.Parse(item));
+            List<int> nums = new();
+            foreach (var item in num)
+            {
+                nums.Add(int.Parse(item));
+            }
+            return nums;
         }
-        return nums;
     }
-}
-
-}
+}

+ 16 - 6
Assets/Game_Hyperspace/Script/GeneratingTarget.cs

@@ -8,6 +8,7 @@ using UnityEngine.SceneManagement;
 using SmartBowSDK;
 using System;
 using HyperspaceGame;
+using MathNet.Numerics;
 
 public class GeneratingTarget : MonoBehaviour
 {
@@ -180,7 +181,7 @@ public class GeneratingTarget : MonoBehaviour
         BtnNext.onClick.AddListener(OnBtnNext);
         BtnNext.gameObject.SetActive(Index + 1 < MaxLevel);
         BtnLast.onClick.AddListener(OnBtnLast);
-        BtnLast.gameObject.SetActive(Index > 0);
+        BtnLast.gameObject.SetActive(true);
         GameOver.SetActive(false);
 		
 		CreateUIManager();
@@ -188,20 +189,26 @@ public class GeneratingTarget : MonoBehaviour
         CreateTargetObject2D();
     }
 
-    private void OnRestart()
+    public void OnRestart()
     {
         Restart(Index);
     }
 
-    private void OnBtnNext()
+    public void OnBtnNext()
     {
         Restart(Index + 1);
     }
 
-    private void OnBtnLast()
+    public void OnBtnLast()
     {
-        Restart(Index - 1);
+        //Restart(Index - 1);
         gm = null;
+
+        onUploadScore();
+        //结束游戏页面
+        userGameAnalyse1.UploadData(true);
+        userGameAnalyse1.onResetOverlayData();
+        SceneManager.LoadScene("Home", LoadSceneMode.Single);
     }
 
     void Start()
@@ -312,6 +319,9 @@ public class GeneratingTarget : MonoBehaviour
 
     private void DoShoot()
     {
+        if (shootingEvent.ShootUIBtn())
+            return;
+
         if (unload || clipsize <= 0)
         {
             Debug.Log("卸了弹夹 或者 没子弹了!");
@@ -496,7 +506,7 @@ public class GeneratingTarget : MonoBehaviour
     public void ShowScore()
     {
         //font.Text = score;
-        TopScore.text = score.ToString().PadLeft(6, '0');
+        TopScore.text = score.ToString().PadLeft(3, '0');
     }
     public Score scoreSprite;
     public void ShowScoreCom(int score, Vector3 pos, Vector2 scorepos, Transform tf, int posIdx)

+ 12 - 10
Assets/Game_Hyperspace/Script/Move.cs

@@ -49,8 +49,6 @@ public abstract class Move
         var paddingRight = Math.Abs(halfW - (pos.x + radius));
         var paddingDown = Math.Abs(pos.y - radius - (-halfH));
 
-
-
         if (log)
             Debug.Log($"pos={pos}   paddingLeft={paddingLeft}  paddingTop={paddingTop}  paddingRight={paddingRight}  paddingDown={paddingDown}");
 
@@ -59,17 +57,21 @@ public abstract class Move
             return true;
 
         //上方170  右方133
-        if (paddingTop <= 170 && paddingRight >= 133)
+        if (paddingTop <= 170 && paddingRight <= 133)
             return true;
 
-        //下83  左方 370
-        if (paddingDown <= 83 && paddingLeft <= 370)
+        //下148  左方 370
+        if (paddingDown <= 148f && paddingLeft <= 370)
             return true;
 
         //下216  右方 133
         if (paddingDown <= 216 && paddingRight <= 330)
             return true;
 
+        //右方 133
+        if (paddingRight <= 133)
+            return true;
+
         return false;
     };
 
@@ -100,10 +102,10 @@ public abstract class Move
 /// <summary>
 /// 随机位置静止
 /// </summary>
-public class Stay: Move
+public class Stay : Move
 {
     public override void InitPos(List<SpineAnimationLoader> gos)
-    {        
+    {
         float ScaleX(float value)
         {
             var width = ScreenWidth();
@@ -167,7 +169,7 @@ public class RightToLeft : Move
         {
             var randomPos = gos[i].GetRandomPos(PosType.Right);
             int count = RamdomNum;
-            while (IsUIBlock(gos[i], randomPos, false) || CheckOverLap(gos[i], randomPos) && count > 0)
+            while (CheckOverLap(gos[i], randomPos) && count > 0)
             {
                 randomPos = gos[i].GetRandomPos(PosType.Right);
                 count--;
@@ -194,7 +196,7 @@ public class RelativeHor : Move
             var tempPos = i % 2 == 0 ? PosType.Left : PosType.Right;
             var randomPos = gos[i].GetRandomPos(tempPos);
             int count = RamdomNum;
-            while (IsUIBlock(gos[i], randomPos, false) || CheckOverLap(gos[i], randomPos) && count > 0)
+            while (CheckOverLap(gos[i], randomPos) && count > 0)
             {
                 randomPos = gos[i].GetRandomPos(tempPos);
                 count--;
@@ -406,7 +408,7 @@ public class VET : Move
 /// </summary>
 public class ROT : Move, IUpdate
 {
-    private float speed; 
+    private float speed;
 
     public override void InitPos(List<SpineAnimationLoader> gos)
     {

+ 24 - 0
Assets/Game_Hyperspace/Script/ShootingEvent.cs

@@ -82,6 +82,30 @@ public class ShootingEvent : MonoBehaviour
         UpdateCrossHairPosition();
     }
 
+    /// <summary>
+    /// ÅжÏÊÇ·ñ´òÖÐUI°´Å¥
+    /// </summary>
+    /// <returns></returns>
+    public bool ShootUIBtn()
+    {
+        var ray = new Ray(transform.position, transform.forward);
+        RaycastHit hitInfo;
+        if (Physics.Raycast(ray, out hitInfo))
+        {
+            var go = hitInfo.transform.gameObject;
+            if (go.GetComponent<Button>())
+            {
+                if (go.name == "BtnRestart")
+                    GeneratingTarget.gm.OnRestart();
+                else if (go.name == "BtnNext")
+                    GeneratingTarget.gm.OnBtnNext();
+                else if (go.name == "BtnLast")
+                    GeneratingTarget.gm.OnBtnLast();
+            }
+        }
+        return false;
+    }
+
     private void Update()
     {
         Ray ray = new Ray(transform.position, transform.forward);

+ 1 - 1
Assets/Game_Hyperspace/StompyRobot/SRDebugger/Scripts/Settings.cs

@@ -572,7 +572,7 @@ namespace SRDebugger
 
         #region Serialization
 
-        [SerializeField] private bool _isEnabled = true;
+        [SerializeField] private bool _isEnabled = false;
 
         [SerializeField] private bool _disableWelcomePopup = false;
 

+ 8 - 0
Assets/InfraredProject/InfraredCamera/Scripts/InfraredCameraHelper.cs

@@ -245,6 +245,14 @@ namespace InfraredManager
             // 获取偏移量
             return _screenLocate.AdjustPointsOffset(inputPoint, type);
         }
+        /// <summary>
+        /// 重置中心点的偏移量
+        /// </summary>
+        public void ResetCenterOffset() {
+
+            _screenLocate.ResetPointsOffest();
+        }
+
         /// <summary>
         /// 初始化一次本地的记录点
         /// </summary>

+ 1 - 1
Assets/InfraredProject/InfraredCamera/Scripts/UVCInterface.cs

@@ -336,7 +336,7 @@ namespace SLAMUVC
 
 			if (Permission.HasUserAuthorizedPermission(Permission.Camera))
 			{
-				Debug.LogError("HasUserAuthorizedPermission£¡");
+				//Debug.LogError("HasUserAuthorizedPermission£¡");
 				systemCameraPermissionHandle?.Invoke();
 				return;
 			}

BIN
Assets/InfraredProject/WebCamera/Image/测试图片.png


+ 1 - 3
Assets/InfraredProject/WebCamera/Script/ZIM/InfraredLocate/InfraredLocate.cs

@@ -124,8 +124,6 @@ namespace ZIM
                 new InfraredSpot(screenIdentification.Screen, InfraredMatch.Match1) };
             }
 
-            ScreenPixelCheaker.ImageSize = new Vector2(screenIdentification.Size.x, screenIdentification.Size.y);
-
             //var watch = new System.Diagnostics.Stopwatch();
             //watch.Start();
             //var times = new List<double>() { 0.0 };
@@ -145,7 +143,7 @@ namespace ZIM
                     int ip = i * samplingScale;
                     int jp = j * samplingScale;
 
-                    if (ScreenPixelCheaker.OutCollider2D(new Vector2(ip, jp)))
+                    if (!screenIdentification.Screen.Active && ScreenPixelCheaker.OutArea2D(new Vector2(ip, jp), screenIdentification.Size))
                         continue;
 
                     var index = mCameraInfo.CoordToIndex(ip, jp);

+ 8 - 2
Assets/InfraredProject/WebCamera/Script/ZIM/InfraredLocate/LineIdentified.cs

@@ -17,21 +17,27 @@ namespace o0.Project
         public float Gradient;
         // 线梯度方向, 0 - 180度
         public float GradientDegree;
+        // 用于绘制的线, 为null就是不绘制
+        public Line DrawLine;
 
-        public LineIdentified(int batch, Line line, float gradient, float gradientDegree)
+        public LineIdentified(int batch, Line line, float gradient, float gradientDegree, bool drawAll = false)
         {
             Batch = batch;
             Line = line;
             Gradient = gradient;
             GradientDegree = gradientDegree;
+            if (drawAll)
+                DrawLine = line;
         }
 
-        public LineIdentified(int batch, (Line line, float gradient, float gradientDegree) lineParams)
+        public LineIdentified(int batch, (Line line, float gradient, float gradientDegree) lineParams, bool drawAll = false)
         {
             Batch = batch;
             Line = lineParams.line;
             Gradient = lineParams.gradient;
             GradientDegree = lineParams.gradientDegree;
+            if (drawAll)
+                DrawLine = lineParams.line;
         }
 
         public void Offset(Vector offset)

+ 267 - 176
Assets/InfraredProject/WebCamera/Script/ZIM/InfraredLocate/ScreenIdentification.cs

@@ -8,6 +8,7 @@ using System.IO;
 using System.Linq;
 using System.Threading.Tasks;
 using UnityEngine;
+using UnityEngine.UIElements;
 using ZIM;
 using ZIM.Unity;
 
@@ -17,23 +18,29 @@ namespace o0.Project
     {
         private const string TAG = "ScreenIdentification#";
 
-        //static Rect[][] LocateAreaData = new Rect[][] {
-        //     new Rect[] { new Rect(0f, 0f, 0.3f, 0.3f),     new Rect(0f, 0f, 0.4f, 0.4f),     new Rect(0f, 0f, 0.5f, 0.5f),     new Rect(0f, 0f, 0.6f, 0.6f) },
-        //     new Rect[] { new Rect(0.7f, 0f, 0.3f, 0.3f),   new Rect(0.6f, 0f, 0.4f, 0.4f),   new Rect(0.5f, 0f, 0.5f, 0.5f),   new Rect(0.4f, 0f, 0.6f, 0.6f) },
-        //     new Rect[] { new Rect(0f, 0.7f, 0.3f, 0.3f),   new Rect(0f, 0.6f, 0.4f, 0.4f),   new Rect(0f, 0.5f, 0.5f, 0.5f),   new Rect(0f, 0.4f, 0.6f, 0.6f) },
-        //     new Rect[] { new Rect(0.7f, 0.7f, 0.3f, 0.3f), new Rect(0.6f, 0.6f, 0.4f, 0.4f), new Rect(0.5f, 0.5f, 0.5f, 0.5f), new Rect(0.4f, 0.4f, 0.6f, 0.6f) }
-        //};
+        // LocateAreaData表示每次屏幕的色差变化的区域,可能有多次。通过设置LocateSingleStep可调整为仅识别一次色差
         static Rect[][] LocateAreaData = new Rect[][] {
              new Rect[] { new Rect(0f, 0f, 0.3f, 0.3f),     new Rect(0f, 0f, 0.4f, 0.4f),     new Rect(0f, 0f, 0.5f, 0.5f)     },
              new Rect[] { new Rect(0.7f, 0f, 0.3f, 0.3f),   new Rect(0.6f, 0f, 0.4f, 0.4f),   new Rect(0.5f, 0f, 0.5f, 0.5f)   },
              new Rect[] { new Rect(0f, 0.7f, 0.3f, 0.3f),   new Rect(0f, 0.6f, 0.4f, 0.4f),   new Rect(0f, 0.5f, 0.5f, 0.5f)   },
              new Rect[] { new Rect(0.7f, 0.7f, 0.3f, 0.3f), new Rect(0.6f, 0.6f, 0.4f, 0.4f), new Rect(0.5f, 0.5f, 0.5f, 0.5f) }
         };
-        //static bool LocateDebug = false;
-        static bool LocateDebug = true;
+        //static Rect[][] LocateAreaData = new Rect[][] {
+        //     new Rect[] { new Rect(0f, 0f, 0.3f, 0.3f),     new Rect(0f, 0f, 0.4f, 0.4f),     new Rect(0f, 0f, 0.5f, 0.5f),     new Rect(0f, 0f, 0.6f, 0.6f) },
+        //     new Rect[] { new Rect(0.7f, 0f, 0.3f, 0.3f),   new Rect(0.6f, 0f, 0.4f, 0.4f),   new Rect(0.5f, 0f, 0.5f, 0.5f),   new Rect(0.4f, 0f, 0.6f, 0.6f) },
+        //     new Rect[] { new Rect(0f, 0.7f, 0.3f, 0.3f),   new Rect(0f, 0.6f, 0.4f, 0.4f),   new Rect(0f, 0.5f, 0.5f, 0.5f),   new Rect(0f, 0.4f, 0.6f, 0.6f) },
+        //     new Rect[] { new Rect(0.7f, 0.7f, 0.3f, 0.3f), new Rect(0.6f, 0.6f, 0.4f, 0.4f), new Rect(0.5f, 0.5f, 0.5f, 0.5f), new Rect(0.4f, 0.4f, 0.6f, 0.6f) }
+        //};
+
+        //static bool LocateSingleStep = false;
+        static bool LocateSingleStep = true;
 
         public Geometry2D.Vector<int> Size => ScreenLocate.Main.CameraSize;
 
+        public QuadrilateralInCamera QuadManual;
+        public QuadrilateralInCamera QuadAuto;      // 全自动,可以给用户选择(赋值给Screen.QuadInCamera即生效)
+        public QuadrilateralInCamera QuadSemiAuto;  // 半自动,可以给用户选择(赋值给Screen.QuadInCamera即生效)
+
         public ScreenMap Screen;       // 识别到的屏幕,用于执行透视变换
 
         int capture = 0;
@@ -45,14 +52,14 @@ namespace o0.Project
         Geometry.Vector<float>[] ScreenBlackTexture;
         Geometry.Vector<float>[] ScreenWhiteTexture;
         int locateIndex = -1;
-        List<Rect> locateArea = new List<Rect> {
+        readonly List<Rect> locateArea = new List<Rect> {
             new Rect(0f, 0f, 0.5f, 0.5f), new Rect(0.5f, 0f, 0.5f, 0.5f), new Rect(0f, 0.5f, 0.5f, 0.5f), new Rect(0.5f, 0.5f, 0.5f, 0.5f)
         };      // 屏幕显示白色的区域大小
 
         float areaPercent => locateArea[locateIndex].size.x;         // 当前白色区域的占比
         int areaSelected = -1;                                       // 选择哪个区域,顺序与Quadrilateral对应
-        List<float> sumTemp = new List<float>();
-        List<OrdinalQuadrilateral> quadTemp = new List<OrdinalQuadrilateral>();
+        readonly List<float> sumTemp = new List<float>();
+        readonly List<OrdinalQuadrilateral> quadTemp = new List<OrdinalQuadrilateral>();
 
         //public ScreenIdentification(WebCamTexture texture)
         //{
@@ -61,17 +68,14 @@ namespace o0.Project
         //}
         public static UnityEngine.Color FloatValueToColor(float i)
         {
-            switch (i)
+            return i switch
             {
-                case 1:
-                    return UnityEngine.Color.green;
-                case 2:
-                    return UnityEngine.Color.red;
-                case 3:
-                    return UnityEngine.Color.yellow;
-                default:
-                    return UnityEngine.Color.black;
-            }
+                1 => UnityEngine.Color.green,
+                2 => UnityEngine.Color.red,
+                3 => UnityEngine.Color.yellow,
+                4 => UnityEngine.Color.white,
+                _ => UnityEngine.Color.black,
+            };
         }
 
         public ScreenIdentification()
@@ -87,6 +91,22 @@ namespace o0.Project
         public event Action OnLocateScreenEnd;
         public bool bStartLocateScreen { get; set; } = false;//是否进行捕获
 
+        public bool SelectScreenAfterLocate(ScreenLocate.ScreenIdentificationTag tag)
+        {
+            QuadrilateralInCamera target = tag switch
+            {
+                ScreenLocate.ScreenIdentificationTag.Manual => QuadManual,
+                ScreenLocate.ScreenIdentificationTag.SemiAuto => QuadSemiAuto,
+                ScreenLocate.ScreenIdentificationTag.Auto => QuadAuto,
+                _ => null
+            };
+
+            if (target == null)
+                return false;
+            SetScreenQuad(target);
+            return true;
+        }
+
         // 自动识别开始的入口
         public void LocateScreen(int Capture = 30, int Delay = 30)  //数值单位是frame
         {
@@ -132,7 +152,7 @@ namespace o0.Project
 
         void DebugImage(List<Texture2D> images)
         {
-            QuadrilateralFit(images, 5);
+            QuadrilateralFit(images);
 
             //var watch = new System.Diagnostics.Stopwatch();
             //watch.Start();
@@ -177,8 +197,8 @@ namespace o0.Project
 
         public void NextScreen()
         {
-            // 测试用
-            if (LocateDebug && areaSelected == -1)
+            // 只识别一次色差变化
+            if (LocateSingleStep && areaSelected == -1)
             {
                 LocateAreaData = new Rect[][] { new Rect[] { new Rect(0, 0, 1f, 1f) } };
                 locateIndex = 3;
@@ -202,7 +222,16 @@ namespace o0.Project
             }
         }
 
-        void Reset()
+        // 清除记录的屏幕识别数据(手动、自动等)
+        public void ClearQuadCache()
+        {
+            SetScreenQuad(null);
+            QuadManual = null;
+            QuadSemiAuto = null;
+            QuadAuto = null;
+        }
+
+        public void Reset()
         {
             // bStartLocateScreen = false;
             delay = 0;
@@ -211,7 +240,8 @@ namespace o0.Project
             ScreenBlackTexture = null;
             locateIndex = -1;
             areaSelected = -1;
-            locateArea.RemoveRange(4, LocateAreaData[0].Length);
+            if (locateArea.Count > 4)
+                locateArea.RemoveRange(4, LocateAreaData[0].Length);
             quadTemp.Clear();
             sumTemp.Clear();
         }
@@ -623,21 +653,21 @@ namespace o0.Project
             //ScreenLocate.DebugTexture(4, ScreenLocateTexG);
             //ScreenLocate.DebugTexture(5, ScreenLocateTexB);
 
-
-            //var watch = new System.Diagnostics.Stopwatch();
-            //watch.Start();
-            //var times = new List<double>() { 0.0 };
-
             //var ScreenLocateTexLightedMat = texture.Too0Mat();
         }
 
         /// <param name="lineWidth">识别的最小线段长度</param>
         /// <param name="debugImages">这个参数如果不为null且数量大于0,则执行debug操作</param>
-        void QuadrilateralFit(List<Texture2D> debugImages = null, float lineWidth = 10)
+        void QuadrilateralFit(List<Texture2D> debugImages = null)
         {
+            // 如果有旧的手动数据,刷新一下Size
+            QuadManual?.ReSize(new Vector(Size.x, Size.y), ScreenMap.ViewAspectRatioSetting);
             // 屏幕黑白差值,存放多批次的图像用于识别, 该List数量不能等于 0 
             List<UnityEngine.Color[]> PixelsMultipleBatches = new List<UnityEngine.Color[]>();
 
+            var sw = new System.Diagnostics.Stopwatch();
+            sw.Start();
+
             //读取数据
             if (debugImages != null && debugImages.Count != 0) 
             {
@@ -660,13 +690,19 @@ namespace o0.Project
                 var scale = 1.0f / maxWhite;        // 放大对比度
 
                 var differPixel = new UnityEngine.Color[Size.x * Size.y];
-                Parallel.For(0, Size.x * Size.y, i =>
+                var whitePixel = new UnityEngine.Color[Size.x * Size.y];
+                Parallel.For(0, Size.x, x =>
                 {
-                    var pi = ScreenWhiteTexture[i] - ScreenBlackTexture[i];
-                    differPixel[i] = new UnityEngine.Color(pi.x, pi.y, pi.z) * scale;
+                    for (int y = 0; y < Size.y; y++) 
+                    {
+                        var i = y * Size.x + x;
+                        var d = ScreenWhiteTexture[i] - ScreenBlackTexture[i];
+                        differPixel[i] = new UnityEngine.Color(d.x, d.y, d.z) * scale;
+                        whitePixel[i] = new UnityEngine.Color(ScreenWhiteTexture[i].x, ScreenWhiteTexture[i].y, ScreenWhiteTexture[i].z) * scale;
+                    }
                 });
                 PixelsMultipleBatches.Add(differPixel);
-                PixelsMultipleBatches.Add(ScreenWhiteTexture.Select((i) => new UnityEngine.Color(i.x, i.y, i.z) * scale).ToArray());
+                PixelsMultipleBatches.Add(whitePixel);
             }
 
             int conSize = (int)Math.Ceiling(0.007f * Size.y) * 2 + 1;
@@ -674,7 +710,7 @@ namespace o0.Project
 
             float minLength = conSize * 7.7f;
             minLength = locateIndex == -1 ? minLength : minLength * areaPercent;    // minLength需要按比例缩小
-            string log = $"[ScreenLocate Auto] Size: ({Size.x},{Size.y}), 卷积核Size: {conSize}, 最小线段长度: {minLength}";
+            string log = $"[Log][ScreenLocate Auto] Size: ({Size.x},{Size.y}), 卷积核Size: {conSize}, 最小线段长度: {minLength}";
 
             var allLines = new List<LineIdentified>();
             List<Texture2D> LocateTexTemp = new List<Texture2D>();
@@ -684,96 +720,135 @@ namespace o0.Project
                 var locateTex = ToLocateTex(PixelsMultipleBatches[batch]);
                 LocateTexTemp.Add(locateTex);
                 var ScreenLocateMat = locateTex.Too0Mat();        // 用于获取Lines的Matrix
-                var lineCount = ZIMIdentifyQuadLSD(ref allLines, batch, ScreenLocateMat.zimIdentifyEdgeGradientAny(conSize));
+                var lineCount = ZIMIdentifyQuadLSD(ref allLines, batch, ScreenLocateMat.zimIdentifyEdgeGradientAny(conSize), minLength);
                 log += $"\r\n识别图片{batch}, 识别到的线段数量为: {lineCount}";
                 ScreenLocateMatList.Add(ScreenLocateMat);
             }
             Texture2D ScreenLocateTexture = LocateTexTemp[0];       // for output
 
-            // 过滤得到四边形的四条边, ScreenLocateMatList[0]默认是屏幕的黑白色差
-            var quadLines = FilterLines(ScreenLocateMatList, allLines, GetAvgPoint(ScreenLocateMatList[0]),
-                out Line[] oldLines, out List<Line> possibleLines,
-                Screen, conSize, conSize, minLength);
-
+            // 估算屏幕中点,如果已有手动定位数据,根据现有数据取平均即可,否则从色差计算,ScreenLocateMatList[0]默认是屏幕的黑白色差
+            Vector AvgPoint = QuadManual != null ? QuadManual.Quad.Centroid : GetAvgPoint(ScreenLocateMatList[0]);
+            // 过滤得到四边形的四条边,
+            var (quadLinesSemiAuto, quadLinesAuto) = FilterLines(ScreenLocateMatList, allLines, AvgPoint,
+                out LineIdentified[] manualLines, out List<LineIdentified> possibleLines,
+                conSize, conSize, minLength);
 
-            // 将 allLines 输出一张图片
-            var allLinesMap = new Matrix(Size, Tiling: true);
-            foreach (var l in allLines)
+            #region 全自动识别的结果
+            List<LineIdentified> LineIdentifiedAuto = new List<LineIdentified>();               // 线段顺序: 下、右、上、左
+            for (int i = 0; i < 4; i++)
             {
-                if (l.Line != null)
-                    o0Extension.DrawLine(allLinesMap, l.Line, (x, y) => 3, new Geometry2D.Float.Vector(0, 2), true);
+                if (quadLinesAuto[i] != null)
+                    LineIdentifiedAuto.Add(quadLinesAuto[i]);
             }
-            var allLinesTex = allLinesMap.ToTexRGBA(FloatValueToColor);
-            ScreenLocate.DebugTexture(1, allLinesTex);
-
-
+            if (LineIdentifiedAuto.Count == 4)            // 判断识别的线段能否拼成屏幕,能拼成则记录
+            {
+                var a = LineIdentifiedAuto[0].Line.Intersect(LineIdentifiedAuto[3].Line, false).Value;
+                var b = LineIdentifiedAuto[0].Line.Intersect(LineIdentifiedAuto[1].Line, false).Value;
+                var c = LineIdentifiedAuto[2].Line.Intersect(LineIdentifiedAuto[3].Line, false).Value;
+                var d = LineIdentifiedAuto[1].Line.Intersect(LineIdentifiedAuto[2].Line, false).Value;
+                QuadAuto = new QuadrilateralInCamera(a, b, c, d, new Vector(Size.x, Size.y));
+                if (!QuadAuto.IsQuadComplete())
+                    QuadAuto = null;
+            }
+            #endregion
 
-            // 将识别到的边画出来,并判断能否拼成屏幕,能拼成则设置ScreenMap
-            // 线段顺序: 下、右、上、左
-            List<Line> LineIdentified = new List<Line>();
+            #region 半自动识别
+            List<LineIdentified> LineIdentifiedSemiAuto = new List<LineIdentified>();               // 线段顺序: 下、右、上、左
+            bool[] newLines = new bool[4] { true, true, true, true };
             for (int i = 0; i < 4; i++)
             {
-                if (quadLines[i] != null)
-                    LineIdentified.Add(quadLines[i]);
-                else if (oldLines != null)
-                    LineIdentified.Add(oldLines[i]);
+                if (quadLinesSemiAuto[i] != null)
+                    LineIdentifiedSemiAuto.Add(quadLinesSemiAuto[i]);
+                else if (manualLines != null)
+                {
+                    LineIdentifiedSemiAuto.Add(manualLines[i]);
+                    newLines[i] = false;
+                }
             }
 
-            var drawScreenMap = new Matrix(Size, Tiling: true);
-            foreach (var l in LineIdentified)
-                o0Extension.DrawLine(drawScreenMap, l, (x, y) => 1, new Geometry2D.Float.Vector(0, lineWidth));
-            Texture2D ScreenQuadTex = drawScreenMap.ToTex();      // out ScreenQuadTex
-
-            QuadrilateralInCamera screenQuad = null;
-            if (LineIdentified.Count == 4)
+            if (LineIdentifiedSemiAuto.Count == 4)            // 判断识别的线段能否拼成屏幕,能拼成则记录
             {
-                var a = LineIdentified[0].Intersect(LineIdentified[3], false).Value;
-                var b = LineIdentified[0].Intersect(LineIdentified[1], false).Value;
-                var c = LineIdentified[2].Intersect(LineIdentified[3], false).Value;
-                var d = LineIdentified[1].Intersect(LineIdentified[2], false).Value;
-                screenQuad = new QuadrilateralInCamera(a, b, c, d, new Vector(Size.x, Size.y));
-                if (!screenQuad.IsQuadComplete())
-                    screenQuad = null;
+                var a = LineIdentifiedSemiAuto[0].Line.Intersect(LineIdentifiedSemiAuto[3].Line, false).Value;
+                var b = LineIdentifiedSemiAuto[0].Line.Intersect(LineIdentifiedSemiAuto[1].Line, false).Value;
+                var c = LineIdentifiedSemiAuto[2].Line.Intersect(LineIdentifiedSemiAuto[3].Line, false).Value;
+                var d = LineIdentifiedSemiAuto[1].Line.Intersect(LineIdentifiedSemiAuto[2].Line, false).Value;
+                QuadSemiAuto = new QuadrilateralInCamera(a, b, c, d, new Vector(Size.x, Size.y));
+                if (!QuadSemiAuto.IsQuadComplete())
+                    QuadSemiAuto = null;
             }
-            if (screenQuad == null && Screen.QuadInCamera != null)     // 如果可能,回退到上一个screen
+            #endregion
+
+            // 优先应用半自动的结果(也可以在外部手动设置)
+            if (QuadSemiAuto == null && QuadAuto == null && Screen.QuadInCamera != null)     // 如果可能,回退到上一个screen
             {
                 Debug.Log("<color=aqua>[ScreenIdentification] 本次识别失败,回退到上次的识别结果</color>");
                 quadTemp.Add(Screen.QuadInCamera.Quad);
             }
-            else if (screenQuad != null)
+            else if (QuadSemiAuto != null)
+            {
+                Debug.Log("<color=aqua>[ScreenIdentification] 识别到四边形</color>");
+                quadTemp.Add(QuadSemiAuto.Quad);
+            }else if (QuadAuto != null)
             {
                 Debug.Log("<color=aqua>[ScreenIdentification] 识别到四边形</color>");
-                quadTemp.Add(screenQuad.Quad);
+                quadTemp.Add(QuadAuto.Quad);
             }
 
+            #region 绘制 output texture
+            // 绘制半自动
+            var ScreenQuadMap = new Matrix(Size, Tiling: true);     // 识别的到的屏幕四边形(半自动和自动在一张图上) 
+            foreach (var i in LineIdentifiedSemiAuto.Index())
+            {
+                if (newLines[i])
+                    o0Extension.DrawLine(ScreenQuadMap, LineIdentifiedSemiAuto[i].DrawLine, (x, y) => 2, new Geometry2D.Float.Vector(0, 10));
+                else
+                    o0Extension.DrawLine(ScreenQuadMap, LineIdentifiedSemiAuto[i].DrawLine, (x, y) => 1, new Geometry2D.Float.Vector(0, 6), true);
+            }
+
+            // 绘制全自动
+            foreach (var i in LineIdentifiedAuto.Index())
+                o0Extension.DrawLine(ScreenQuadMap, LineIdentifiedAuto[i].DrawLine, (x, y) => 4, new Geometry2D.Float.Vector(0, 4), true);
+
+            Texture2D ScreenQuad = ScreenQuadMap.ToTexRGBA(FloatValueToColor);
+            Texture2D ScreenQuadWithScreen = ScreenQuad.Overlay(ScreenLocateTexture);   // 叠加屏幕色差图
 
+            // 绘制allLines
+            var allLinesMap = new Matrix(Size, Tiling: true);
+            foreach (var l in allLines)
+            {
+                if (l.DrawLine != null)
+                    o0Extension.DrawLine(allLinesMap, l.DrawLine, (x, y) => 3, new Geometry2D.Float.Vector(0, 2), true);
+            }
+            var allLinesTex = allLinesMap.ToTexRGBA(FloatValueToColor);
+            ScreenLocate.DebugTexture(1, allLinesTex);
 
             // 还需要输出一张识别结果图,包含干扰线段
-            var LSDLineMap = new Matrix(Size, Tiling: true);
+            var ChoosableLineMap = new Matrix(Size, Tiling: true);
             foreach (var l in possibleLines)
             {
-                if (l != null && !quadLines.Contains(l))
-                    o0Extension.DrawLine(LSDLineMap, l, (x, y) => 3, new Geometry2D.Float.Vector(0, 2), true); // 其他的备选线段
+                if (l != null && !quadLinesSemiAuto.Contains(l) && !manualLines.Contains(l))
+                    o0Extension.DrawLine(ChoosableLineMap, l.DrawLine, (x, y) => 3, new Geometry2D.Float.Vector(0, 2), true); // 其他的备选线段
             }
-            foreach (var l in quadLines)
+            foreach (var l in LineIdentifiedSemiAuto)
             {
                 if (l != null)
-                    o0Extension.DrawLine(LSDLineMap, l, (x, y) => 2, new Geometry2D.Float.Vector(0, 4)); // 这次识别到的线段
+                    o0Extension.DrawLine(ChoosableLineMap, l.DrawLine, (x, y) => 2, new Geometry2D.Float.Vector(0, 5)); // 识别的结果
             }
-            if (oldLines != null)
+            if (manualLines != null)
             {
-                foreach (var l in oldLines)
-                    o0Extension.DrawLine(LSDLineMap, l, (x, y) => 1, new Geometry2D.Float.Vector(0, 2), true);     // 旧的屏幕线段(例如上次手动识别的)
+                foreach (var l in manualLines)
+                    o0Extension.DrawLine(ChoosableLineMap, l.DrawLine, (x, y) => 1, new Geometry2D.Float.Vector(0, 2), true);     // 旧的屏幕线段(例如上次手动识别的)
             }
-            Texture2D ChoosableLineTex = LSDLineMap.ToTexRGBA(FloatValueToColor);
-
+            Texture2D ChoosableLineTex = ChoosableLineMap.ToTexRGBA(FloatValueToColor);
+            #endregion
 
+            log += $"\r\n屏幕四边形_手动识别{QuadManual != null}\r\n屏幕四边形_半自动识别{QuadSemiAuto != null}\r\n屏幕四边形_全自动识别{QuadAuto != null}";
             Debug.Log(log);
             // 是否将图片保存到本地
             if (ScreenLocate.Main.SaveToggle.isOn && ScreenLocate.Main.DebugOnZIMDemo)
             {
                 var FileDirectory = $"Debug_屏幕定位/";
-                SaveImages(FileDirectory, log, ScreenLocateTexture, allLinesTex, ScreenQuadTex);
+                SaveImages(FileDirectory, log, ScreenLocateTexture, allLinesTex, ChoosableLineTex, ScreenQuad);
             }
 
             //times.Add(watch.ElapsedMilliseconds);
@@ -791,9 +866,8 @@ namespace o0.Project
 
             {
                 ScreenLocate.DebugTexture(2, ScreenLocateTexture);
-                ScreenLocate.DebugTexture(3, ScreenQuadTex);
-                // 融合线段和原图
-                ScreenLocate.DebugTexture(4, ScreenLocateTexture.Merge(ScreenQuadTex));
+                ScreenLocate.DebugTexture(3, ScreenQuad);
+                ScreenLocate.DebugTexture(4, ScreenQuadWithScreen);
                 ScreenLocate.DebugTexture(5, ChoosableLineTex);
             }
             foreach (var i in LocateTexTemp)
@@ -840,17 +914,42 @@ namespace o0.Project
             return l.Count;
         }
 
-        // 返回四边形的四条边,List长度一定是4 (如果没有识别到就是null),且线段顺序是: 下、右、上、左
-        List<Line> FilterLines(List<Matrix> screenLocateMatList, List<LineIdentified> allLines, Vector avgPoint,
-            out Line[] oldLines, out List<Line> possibleLines, 
-            ScreenMap screen, float conSize, float gradientLength, float minLength = 100)
+        // 返回四边形的四条边(半自动、全自动),List长度一定是4 (如果没有识别到就是null),且线段顺序是: 下、右、上、左
+        (List<LineIdentified>, List<LineIdentified>) FilterLines(List<Matrix> screenLocateMatList, List<LineIdentified> allLines, Vector avgPoint,
+            out LineIdentified[] manualLines, out List<LineIdentified> possibleLines, float conSize, float gradientLength, float minLength = 100)
         {
             //Debug.Log("[IdentifyLineLSD] lines.Count: " + lines.Count);
-            // LSD计算得到的矩阵尺寸较小(因为卷积),这里必须进行位移
             var offset = new Vector((conSize - 1) / 2, (conSize - 1) / 2);
+            // LSD计算得到的矩阵尺寸较小(因为卷积),这里必须进行位移
             for (int i = 0; i < allLines.Count; i++)
                 allLines[i].Offset(offset);
 
+            // 筛掉椭圆框外的线段(超出一半会筛掉)
+            var innerLines = new List<LineIdentified>();
+            for (int i = 0; i < allLines.Count; i++)
+            {
+                List<Vector> InArea = new List<Vector>();
+                var dir = (allLines[i].Line.B - allLines[i].Line.A) / 4;
+                var points = new Vector[5] { allLines[i].Line.A, allLines[i].Line.A + dir, allLines[i].Line.A + dir * 2f, allLines[i].Line.A + dir * 3f, allLines[i].Line.B };  // A点、中间的点、B点
+                for (int pI = 0; pI < points.Length; pI++)
+                {
+                    if (!ScreenLocate.Main.ScreenPixelCheaker.OutArea2D(points[pI], Size))
+                        InArea.Add(points[pI]);
+                }
+
+                if (InArea.Count < 2)   // 少于2个点在内部
+                    continue;
+                else if (InArea.Count < points.Length)  // 不完全在内部
+                    allLines[i].DrawLine = new Line(InArea.First(), InArea.Last());        // 将部分线条设置为drawline,用于下一步的绘制
+                else   // 线段全部在椭圆内
+                    allLines[i].DrawLine = allLines[i].Line;
+
+                innerLines.Add(allLines[i]);
+            }
+
+            // 角度阈值,用来判断线段的梯度方向是否指向屏幕中心(avgPoint)
+            var avaAngleHalf = 75f;
+
             // 沿直线计算综合梯度(梯度乘以长度系数,再乘以距离系数), distanceRatio是实际距离除以最大距离
             float estimateGradient(LineIdentified line, float distanceRatio)
             {
@@ -867,129 +966,121 @@ namespace o0.Project
                     lg.Add(screenLocateMatList[line.Batch][(int)ga.x, (int)ga.y] - screenLocateMatList[line.Batch][(int)gb.x, (int)gb.y]);
                 }
 
-                float e = (float)Math.Sqrt(Math.Max(1, line.Line.Length / minLength / 3));       // 长度系数,筛选时梯度更大、长度更长的线段更优
+                float e = (float)Math.Sqrt(Math.Ceiling(line.Line.Length / minLength));       // 长度系数,筛选时梯度更大、长度更长的线段更优
                 float d = (3 - distanceRatio) / 2;            // 距离系数,距离越近,系数越大
                 return e * d * Math.Abs(lg.Mean());
             }
+            // 根据线段梯度的角度,判断是不是屏幕的边,out index代表是哪条边(顺序是: 下、右、上、左)
+            bool isScreenLine(LineIdentified line, out int index)
+            {
+                var a = (avgPoint - (line.Line.A + line.Line.B) / 2).DegreeToXAxis();
+                //Debug.Log(a + ", " + gradient + ", " + sum);
+                index = -1;
+                if (Math.Abs(a - line.GradientDegree) < avaAngleHalf || Math.Abs(a - 360 - line.GradientDegree) < avaAngleHalf || Math.Abs(a + 360 - line.GradientDegree) < avaAngleHalf)
+                {
+                    if (line.GradientDegree > 45 && line.GradientDegree < 135)     // 下
+                        index = 0;
+                    else if (line.GradientDegree > 135 && line.GradientDegree < 225) // 右
+                        index = 1;
+                    else if (line.GradientDegree > 225 && line.GradientDegree < 315)  // 上
+                        index = 2;
+                    else
+                        index = 3;
+                    return true;
+                }
+                return false;
+            }
 
-            // 下、右、上、左
-            var quadLines = new List<(float, Line)>[4] { new List<(float, Line)>(), new List<(float, Line)>(), new List<(float, Line)>(), new List<(float, Line)>() };
-            possibleLines = new List<Line>();
-            oldLines = null;
 
-            // 如果已有定位数据,根据现有数据筛选线条
-            if (screen.QuadInCamera != null)
+            // 下、右、上、左, 半自动和自动
+            var quadLinesSemiAuto = new List<(float, LineIdentified)>[4] { new List<(float, LineIdentified)>(), new List<(float, LineIdentified)>(), new List<(float, LineIdentified)>(), new List<(float, LineIdentified)>() };
+            var quadLinesAuto = new List<(float, LineIdentified)>[4] { new List<(float, LineIdentified)>(), new List<(float, LineIdentified)>(), new List<(float, LineIdentified)>(), new List<(float, LineIdentified)>() };
+            possibleLines = new List<LineIdentified>();
+            manualLines = null;
+
+            // 如果已有手动定位数据,根据现有数据筛选线条(半自动)
+            if (QuadManual != null)
             {
                 Debug.Log("[IdentifyLineLSD] 根据已有定位数据做筛选");
-                screen.RefreshCameraSize(new Vector2(Size.x, Size.y));
-
                 var calibration = ScreenLocate.Main.ReDoLocateCalibrationRatio * Size.y;
-                oldLines = screen.QuadInCamera.GetLines();
+                manualLines = QuadManual.GetLines().Select((i) => new LineIdentified(0, i, 0, 0, true)).ToArray();
 
-                var pedals = oldLines.Select((i) => o0Extension.PointPedal(i, avgPoint)).ToArray();     // 当前定位的垂足,下、右、上、左
+                var pedals = manualLines.Select((i) => o0Extension.PointPedal(i.Line, avgPoint, out _)).ToArray();     // 当前定位的垂足,下、右、上、左
 
-                foreach (var i in allLines)
+                foreach (var line in innerLines)
                 {
-                    float minDistance = float.MaxValue;
-                    int index = -1;
-                    foreach (var j in pedals.Index())
+                    // 筛选条件:1-梯度方向匹配,2-垂足的距离足够近, 3-新的线段的中点,到旧线段的垂足,要在旧线段内
+                    if (isScreenLine(line, out int index))
                     {
-                        var d = (o0Extension.PointPedal(i.Line, avgPoint) - pedals[j]).Length;
-                        if (d < minDistance)
+                        var distanceToOld = (o0Extension.PointPedal(line.Line, avgPoint, out _) - pedals[index]).Length;
+                        if (distanceToOld < calibration)
                         {
-                            minDistance = d;
-                            index = j;
+                            var middleToOldLine = o0Extension.PointPedal(manualLines[index].Line, (line.Line.A + line.Line.B) / 2, out bool inLineSegment);
+                            if (inLineSegment)
+                            {
+                                quadLinesSemiAuto[index].Add((estimateGradient(line, distanceToOld / calibration), line));
+                                possibleLines.Add(line);
+                            }
                         }
                     }
-                    //Debug.Log(minDistance +", -----------"+ calibration);
-                    if (minDistance < calibration)      // 垂足的距离足够近
-                    {
-                        quadLines[index].Add((estimateGradient(i, minDistance / calibration), i.Line));
-                        possibleLines.Add(i.Line);
-                    }
                 }
             }
-            else
+
+            // 全自动
+            foreach (var line in allLines)
             {
-                var avaAngleHalf = 75f;
-                foreach (var line in allLines)
+                if (isScreenLine(line , out int index))
                 {
-                    possibleLines.Add(line.Line);
-
-                    var a = (avgPoint - (line.Line.A + line.Line.B) / 2).DegreeToXAxis();
-                    //Debug.Log(a + ", " + gradient + ", " + sum);
-                    int index = -1;
-                    if (Math.Abs(a - line.GradientDegree) < avaAngleHalf || Math.Abs(a - 360 - line.GradientDegree) < avaAngleHalf || Math.Abs(a + 360 - line.GradientDegree) < avaAngleHalf)
+                    if (line.Batch < 1)     // 全自动只处理第一张图,默认是色差图
                     {
-                        if (line.GradientDegree > 45 && line.GradientDegree < 135)     // 下
-                            index = 0;
-                        else if (line.GradientDegree > 135 && line.GradientDegree < 225) // 右
-                            index = 1;
-                        else if (line.GradientDegree > 225 && line.GradientDegree < 315)  // 上
-                            index = 2;
-                        else
-                            index = 3;
-
-                        //var g = Math.Abs(lg.Mean());
-                        //Debug.Log(gradient + ", " + g);
-
-                        //List<float> lp1 = new List<float>(), lp2 = new List<float>();    // 线两侧的值
-                        //for (float i = 0; i <= ll; i += step)
-                        //{
-                        //    var point = line.A + dir * i;
-                        //    var ga = point + vertical;
-                        //    var gb = point - vertical;
-                        //    lp1.Add(screenLocateMat[(int)ga.x, (int)ga.y]);
-                        //    lp2.Add(screenLocateMat[(int)gb.x, (int)gb.y]);
-                        //}
-
-                        //var avg1 = lp1.Mean();
-                        //var avg2 = lp2.Mean();
-                        //var v1 = lp1.Variance();
-                        //var v2 = lp2.Variance();
-
-                        //var lineGradient = Math.Abs(avg1 - avg2) / (v1 + v2 + 0.2f);       // 方差越小,梯度的价值越高
-                        ////var g = Math.Abs(lg.Mean());
-                        ////Debug.Log(gradient + ", " + g);
-                        //Debug.Log(v1 + ", " + v2 + ", " + lineGradient);
-
-                        //quadLines[index].Add((lineGradient, line));
-
-                        quadLines[index].Add((estimateGradient(line, 1), line.Line));
+                        quadLinesAuto[index].Add((estimateGradient(line, 1), line));
                     }
                 }
             }
 
-            var result = new Line[4];
+            var resultSemiAuto = new LineIdentified[4];
+            var resultAuto = new LineIdentified[4];
             for (int i = 0; i < 4; i++)
             {
-                if (quadLines[i].Count > 0)
-                    result[i] = quadLines[i].Max((a, b) => a.Item1.CompareTo(b.Item1)).Item2;
+                if (quadLinesSemiAuto[i].Count > 0)
+                    resultSemiAuto[i] = quadLinesSemiAuto[i].Max((a, b) => a.Item1.CompareTo(b.Item1)).Item2;
+                if (quadLinesAuto[i].Count > 0)
+                    resultAuto[i] = quadLinesAuto[i].Max((a, b) => a.Item1.CompareTo(b.Item1)).Item2;
             }
-            return result.ToList();
+            return (resultSemiAuto.ToList(), resultAuto.ToList());
         }
 
-        void SaveImages(string FileDirectory, string log, Texture2D ScreenLocateTex, Texture2D allLinesTex, Texture2D ScreenQuadTex)
+        void SaveImages(string FileDirectory, string log, 
+            Texture2D ScreenLocateTex, Texture2D allLinesTex, Texture2D ChoosableLineTex, Texture2D ScreenQuadTex)
         {
             if (!Directory.Exists(FileDirectory))
                 Directory.CreateDirectory(FileDirectory);
             var time = DateTime.Now.ToString("yyyyMMdd_HHmmss");
 
-            var pngData = (ScreenLocate.Main.outputTexture2D[7] as Texture2D)?.EncodeToPNG();
+            var pngData = ScreenLocate.Main.OutputTextures[7]?.EncodeToPNG();
             if (pngData != null)
                 File.WriteAllBytes($"{FileDirectory}{time}A屏幕原图.png", pngData);
-            var pngData1 = ScreenLocateTex.EncodeToPNG();
+            var pngData1 = ScreenLocateTex?.EncodeToPNG();
             if (pngData1 != null)
                 File.WriteAllBytes($"{FileDirectory}{time}B黑白色差.png", pngData1);
-            var pngData2 = allLinesTex.EncodeToPNG();
+            var pngData2 = allLinesTex?.EncodeToPNG();
             if (pngData2 != null)
-                File.WriteAllBytes($"{FileDirectory}{time}C全部识别线段.png", pngData2);
-            var pngData3 = ScreenQuadTex.EncodeToPNG();
+                File.WriteAllBytes($"{FileDirectory}{time}C全部识别线段_半自动.png", pngData2);
+            var pngData3 = ChoosableLineTex?.EncodeToPNG();
             if (pngData3 != null)
-                File.WriteAllBytes($"{FileDirectory}{time}D识别结果.png", pngData3);
+                File.WriteAllBytes($"{FileDirectory}{time}D备选线段_半自动.png", pngData3);
+            var pngData4 = ScreenQuadTex?.EncodeToPNG();
+            if (pngData4 != null)
+                File.WriteAllBytes($"{FileDirectory}{time}E识别结果.png", pngData4);
+
 
             Debug.Log($"<color=aqua>({time}) 屏幕识别图片保存至:程序根目录/{FileDirectory}</color>");
-            log += $"\r\n屏幕原图保存{pngData != null}, \r\n黑白色差保存{pngData1 != null}, \r\n全部识别线段保存{pngData2 != null}, \r\n识别结果保存{pngData3 != null}, ";
+            log +=
+                $"\r\n屏幕原图保存{pngData != null}, " +
+                $"\r\n黑白色差保存{pngData1 != null}, " +
+                $"\r\n全部识别线段(半自动)保存{pngData2 != null}, " +
+                $"\r\n备选线段(半自动)保存{pngData3 != null}, " +
+                $"\r\n识别结果保存{pngData4 != null}";
             File.WriteAllText($"{FileDirectory}{time}屏幕自动定位_日志.log", log);
         }
 

+ 4 - 0
Assets/InfraredProject/WebCamera/Script/ZIM/Other/OrdinalQuadrilateral.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using o0.Geometry2D.Float;
+using Unity.VisualScripting;
 
 namespace ZIM
 {
@@ -33,6 +34,9 @@ namespace ZIM
 
         public static OrdinalQuadrilateral Identity { get; } = new OrdinalQuadrilateral(new Vector(0, 0), new Vector(1, 0), new Vector(0, 1), new Vector(1, 1));
 
+        /// <summary>四边形的质心(顶点平均值)</summary>
+        public Vector Centroid => new Vector(A.x + B.x + C.x + D.x, A.y + B.y + C.y + D.y) / 4f;
+
         public override Vector this[int index]
         {
             get

+ 8 - 0
Assets/InfraredProject/WebCamera/Script/ZIM/Other/QuadrilateralInCamera.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using o0.Geometry2D;
 using o0.Geometry2D.Float;
 using UnityEngine;
@@ -33,6 +34,13 @@ namespace ZIM.Unity
             Quad = new OrdinalQuadrilateral(enumable);
         }
 
+        // 固定的顶点顺序: 左下,右下,左上,右上
+        public QuadrilateralInCamera(IEnumerable<Vector2> enumable, Vector cameraSize)
+        {
+            CameraSize = cameraSize;
+            Quad = new OrdinalQuadrilateral(enumable.Select((i=>i.o0Vector())));
+        }
+
         public QuadrilateralInCamera(OrdinalQuadrilateral quad, Vector cameraSize)
         {
             CameraSize = cameraSize;

+ 72 - 42
Assets/InfraredProject/WebCamera/Script/ZIM/ScreenLocate.cs

@@ -39,6 +39,13 @@ public partial class ScreenLocate : MonoBehaviour
         Android
     }
     Platform mPlatform = Platform.Android;
+    public enum ScreenIdentificationTag
+    {
+        // 屏幕定位的方式,手动、半自动、自动
+        Manual,
+        SemiAuto,
+        Auto
+    }
 
     // 2个灯,顺序根据红外灯的大小 由大到小, 坐标通过 InfraredSpot.ScreenUV 和 InfraredSpot.CameraLocation 获得
     public InfraredSpot[] InfraredSpots
@@ -61,6 +68,17 @@ public partial class ScreenLocate : MonoBehaviour
     public InfraredSpot[] infraredSpotBuffer;
     public string GetInfraredCount() { return infraredCount.ToString(); }
 
+    /// <summary>
+    /// 定位之后,可能有3种结果(手动、半自动、自动),从中选择一种作为最终识别到的屏幕。
+    /// 如果选择的是null,即没有识别到屏幕,则返回false,否则返回true
+    /// </summary>
+    public bool SelectScreenAfterLocate(ScreenIdentificationTag tag) => ScreenIdentification.SelectScreenAfterLocate(tag);
+
+    /// <summary>
+    /// 获取算法执行过程中输出的纹理,0原图,1半自动识别到的全部线段,2屏幕黑白色差,3识别结果,4屏幕色差叠加识别结果,5半自动时的备选线段
+    /// </summary>
+    public Texture2D[] OutputTextures => outputTexture2D;
+
     /// <summary>
     /// CameraLocation 的偏移量
     /// </summary>
@@ -99,15 +117,15 @@ public partial class ScreenLocate : MonoBehaviour
 
     public bool ShowScreenQuad = false;
 
-    // output的图像
-    // 图0是摄像机原图,图1是屏幕识别的全部可选线段,图2是识别出的屏幕画面,图3是识别出的屏幕四条边,图4是图2和图3的叠加,图5显示3种不同颜色的算法识别线段
+    // 显示在demo上的rawImage
     public List<RawImage> outputRawImages;
-    [NonSerialized] public Texture[] outputTexture2D = new Texture[8];
+    readonly Texture2D[] outputTexture2D = new Texture2D[8];
     public RawImage FullScreenImage;
 
     public PixelCheaker ScreenPixelCheaker;
     public InfraredSpotSettings InfraredSpotSettings;
 
+    // 全局记录当前算法中的CameraSize,红外识别和屏幕识别都会使用到
     public o0.Geometry2D.Vector<int> CameraSize { get; set; }
 
     public List<Texture2D> DebugScreenImages = new List<Texture2D>();
@@ -118,9 +136,9 @@ public partial class ScreenLocate : MonoBehaviour
     //是否单点显示
     public bool bSinglePoint = true;//默认单点识别
 
-    [NonSerialized] public float ReDoLocateCalibrationRatio = 0.04f;  // 重复定位时校准的距离比例,例如先手动定位,再自动定位,会以手动的结果来校准
+    [NonSerialized] public float ReDoLocateCalibrationRatio = 0.12f;  // 半自动定位时校准的距离比例,以手动的结果来校准,离手动太远的线段会被舍弃
 
-    [NonSerialized] public InfraredCount infraredCount = InfraredCount.Single;
+    [NonSerialized] public InfraredCount infraredCount = InfraredCount.Single;  // 识别红外灯的数量,1个或者2个
 
     bool bIdentifyRed = true;//默认设备红色
 
@@ -151,15 +169,17 @@ public partial class ScreenLocate : MonoBehaviour
     public float pcContrast { get; set; } = 0.0f;
     #endregion
 
-
+    // 红外灯识别算法
     InfraredLocate infraredLocate;
+    // 屏幕识别算法
+    o0.Project.ScreenIdentification screenIdentification;
+    public o0.Project.ScreenIdentification ScreenIdentification => screenIdentification;
+
     RectTransform canvas;
     Mode mode;
-    List<(Vector2 pos, GameObject go)> pointManual = new List<(Vector2, GameObject)>();
-
+    //List<(Vector2 pos, GameObject go)> pointManual = new List<(Vector2, GameObject)>();
     //o0.Project.WebCam o0WebCam = null;
-    o0.Project.ScreenIdentification screenIdentification;
-    public o0.Project.ScreenIdentification ScreenIdentification => screenIdentification;
+
 
     /// <summary>
     /// 正在识别的状态,自动识别时候记录
@@ -186,7 +206,7 @@ public partial class ScreenLocate : MonoBehaviour
         }
     }
 
-    static public void DebugTexture(int index, Texture texture)
+    static public void DebugTexture(int index, Texture2D texture)
     {
         LateDestory(Main.outputTexture2D[index]);
 
@@ -240,24 +260,23 @@ public partial class ScreenLocate : MonoBehaviour
         }
     }
 
-    public void ReSizeTexture(int width, int height)
-    {
-        Debug.Log("Cur mUVCTexture Size: [" + mUVCTexture.width + "," + mUVCTexture.height + "]");
-        return;
-        if (mUVCTexture.width < width || mUVCTexture.height < height)       // 如果当前分辨率太小,则重新new一个texture
-        {
-            Texture2D tex = new Texture2D(
-                            width, height,
-                            TextureFormat.ARGB32,
-                            false, /* mipmap */
-                            true /* linear */);
-            tex.filterMode = FilterMode.Point;
-            tex.Apply();
-            mUVCTexture = tex;
-            mUVCCameraInfo.previewTexture = tex;
-            var nativeTexPtr = mUVCCameraInfo.previewTexture.GetNativeTexturePtr();
-        }
-    }
+    //public void ReSizeTexture(int width, int height)
+    //{
+    //    Debug.Log("Cur mUVCTexture Size: [" + mUVCTexture.width + "," + mUVCTexture.height + "]");
+    //    if (mUVCTexture.width < width || mUVCTexture.height < height)       // 如果当前分辨率太小,则重新new一个texture
+    //    {
+    //        Texture2D tex = new Texture2D(
+    //                        width, height,
+    //                        TextureFormat.ARGB32,
+    //                        false, /* mipmap */
+    //                        true /* linear */);
+    //        tex.filterMode = FilterMode.Point;
+    //        tex.Apply();
+    //        mUVCTexture = tex;
+    //        mUVCCameraInfo.previewTexture = tex;
+    //        var nativeTexPtr = mUVCCameraInfo.previewTexture.GetNativeTexturePtr();
+    //    }
+    //}
 
     void Awake()
     {
@@ -429,7 +448,7 @@ public partial class ScreenLocate : MonoBehaviour
             }
          
             if (DebugOnZIMDemo)
-                Main.ShowScreen(Main.ScreenQuad, screenIdentification.Screen.QuadInCamera);
+                Main.ShowScreen(screenIdentification.Screen.QuadInCamera);
 
         }
 
@@ -746,6 +765,10 @@ public partial class ScreenLocate : MonoBehaviour
         if (DebugOnZIMDemo)
             screenIdentification.LocateScreen();
 
+#if  UNITY_EDITOR
+        UVCUpdate(false);
+#endif
+
         //CreateUVCTexture2DIfNeeded();
         // log1 = true;
         // log2 = true;
@@ -905,18 +928,18 @@ public partial class ScreenLocate : MonoBehaviour
         }
         Info.text = "已识别到屏幕";
 
-        if (ScreenQuadObject && ScreenQuadObject.childCount >= 4)
-        {
-            ScreenQuadObject.gameObject.SetActive(true);
-            for (int i = 0; i < 4; i++)
-            {
-                if (DebugOnZIMDemo)
-                {
-                    RectTransform t = ScreenQuadObject.GetChild(i) as RectTransform;
-                    t.anchoredPosition = screen.Quad[i].pixelToLocalPosition_AnchorCenter(screen.CameraSize, ScreenQuadObject.rect);
-                }
-            }
-        }
+        //if (ScreenQuadObject && ScreenQuadObject.childCount >= 4)
+        //{
+        //    ScreenQuadObject.gameObject.SetActive(true);
+        //    for (int i = 0; i < 4; i++)
+        //    {
+        //        if (DebugOnZIMDemo)
+        //        {
+        //            RectTransform t = ScreenQuadObject.GetChild(i) as RectTransform;
+        //            t.anchoredPosition = screen.Quad[i].pixelToLocalPosition_AnchorCenter(screen.CameraSize, ScreenQuadObject.rect);
+        //        }
+        //    }
+        //}
         quadUnityVectorList = screen.GetUnityVertexNormalizedList();      // 记录四个点
         if (!ContainsNaN(quadUnityVectorList))
         {
@@ -984,6 +1007,13 @@ public partial class ScreenLocate : MonoBehaviour
             return UVOffset;
         }
     }
+    /// <summary>
+    /// 重置偏移量
+    /// </summary>
+    public void ResetPointsOffest() {
+        CameraLocationOffset = Vector2.zero;
+        UVOffset = Vector2.zero;
+    }
 
     /// <summary>
     /// 这里计算一个偏移后的cameraLocatoin位置

+ 29 - 1
Assets/InfraredProject/WebCamera/Script/ZIM/ZIMUnity/Extension.cs

@@ -65,7 +65,12 @@ namespace ZIM.Unity
 
         public static float Brightness(this Color c)
         {
-            return 0.59f * c.r + 0.3f * c.r + 0.11f * c.r;    // 红色为主
+            return 0.59f * c.r + 0.3f * c.g + 0.11f * c.b;    // 红色为主
+        }
+
+        public static float Lightness(this Color c)
+        {
+            return Mathf.Max(c.r, c.g, c.b);
         }
 
         // 转换为整数再计算
@@ -78,6 +83,7 @@ namespace ZIM.Unity
             return (int)(0.59f * r + 0.3f * g + 0.11f * b);    // 红色为主
         }
 
+        // a 融合b,颜色直接相加
         public static Texture2D Merge(this Texture2D a, Texture2D b)
         {
             if (a.width != b.width || a.height != b.height)
@@ -93,6 +99,28 @@ namespace ZIM.Unity
             return texAdd;
         }
 
+        // a 覆盖 b,会剔除a的黑色背景
+        public static Texture2D Overlay(this Texture2D a, Texture2D b)
+        {
+            if (a.width != b.width || a.height != b.height)
+                throw new InvalidOperationException("尺寸不同无法叠加texture");
+
+            var pixel0 = a.GetPixels();
+            var pixel1 = b.GetPixels();
+            for (int i = 0; i < pixel0.Length; i++)
+            {
+                float newA = (float)(Math.Clamp((pixel0[i].Lightness() - 0.2) / 0.6, 0, 1) * pixel0[i].a);
+                pixel0[i] = pixel0[i].RGBMutiply(newA) + pixel1[i] * (1 - newA);
+            }
+            var texAdd = new Texture2D(a.width, a.height);
+            texAdd.SetPixels(pixel0);
+            texAdd.Apply();
+            return texAdd;
+        }
+
+        // 长度平方,0-1
+        public static float LengthSquare(this Color c) => (c.r * c.r + c.g * c.g + c.b * c.b) / 3;
+
         // 像素坐标映射到Unity局部坐标
         public static Vector2 pixelToLocalPosition_AnchorCenter(this Vector2 pixel, Vector2 size, Rect dstRect)
         {

+ 9 - 5
Assets/InfraredProject/WebCamera/Script/ZIM/o0Extension/o0Extension.cs

@@ -7,6 +7,8 @@ namespace o0.Project
     {
         public static void DrawLine(Matrix matrix, Line line, Func<int, int, float> setValue, Geometry2D.Float.Vector size = default, bool dashedLine = false)
         {
+            if (line == null || matrix == null)
+                return;
             if (size == default)
                 size = new Geometry2D.Float.Vector(0, 1);
             if (size.x != 0)
@@ -16,14 +18,14 @@ namespace o0.Project
                 line = new Geometry2D.Float.Line(line.A - offset, line.B + offset);
             }
 
-            int drawCount = 0;
             void _draw(int x, int y)
             {
                 try
                 {
                     if (dashedLine)
                     {
-                        if (drawCount++ % 80 < 50)
+                        var d = (new Vector(x, y) - line.A).Length;
+                        if (d % 75 < 35)
                             matrix[x, y] = setValue(x, y);
                     }
                     else
@@ -82,15 +84,17 @@ namespace o0.Project
                     _draw(x, y);
         }
 
-        /// <summary>计算点到直线的垂足,垂足坐标可能在Line的延长线上</summary>
-        public static Vector PointPedal(Line l, in Vector v)
+        /// <summary>计算点到直线的垂足,垂足坐标可能在Line的延长线上,可通过inLineSegment判断垂足是否在线段上</summary>
+        public static Vector PointPedal(Line l, in Vector v, out bool inLineSegment)
         {
             Vector d = l.B - l.A;
             float dotD = d.Dot(d);
             if (dotD == 0)
                 throw new DivideByZeroException();
             float dotL = (v - l.A).Dot(d);
-            Vector proj = d * (dotL / dotD);
+            var factor = dotL / dotD;
+            Vector proj = d * factor;
+            inLineSegment = factor >= 0 && factor <= 1;
             return l.A + proj;
         }
 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 726 - 61
Assets/InfraredProject/WebCamera/zimWebCamera.unity


+ 2 - 2
Assets/InfraredProject/o0/zimIdentifyLineLSD.cs

@@ -159,7 +159,7 @@ namespace o0.Project
                 var calibration = ScreenLocate.Main.ReDoLocateCalibrationRatio * screenLocateMat.Size.y;
                 oldLines = screen.QuadInCamera.GetLines();
 
-                var pedals = oldLines.Select((i) => o0Extension.PointPedal(i, avgPoint)).ToArray();     // 当前定位的垂足,下、右、上、左
+                var pedals = oldLines.Select((i) => o0Extension.PointPedal(i, avgPoint, out _)).ToArray();     // 当前定位的垂足,下、右、上、左
 
                 foreach (var i in allLines)
                 {
@@ -167,7 +167,7 @@ namespace o0.Project
                     int index = -1;
                     foreach (var j in pedals.Index())
                     {
-                        var d = (o0Extension.PointPedal(i.Item1, avgPoint) - pedals[j]).Length;
+                        var d = (o0Extension.PointPedal(i.Item1, avgPoint, out _) - pedals[j]).Length;
                         if (d < minDistance)
                         {
                             minDistance = d;

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

@@ -1179,6 +1179,7 @@ MonoBehaviour:
   emptyBulletSprite: {fileID: 21300000, guid: 434fe1c3dda4d2b4eb8da12815e1622d, type: 3}
   defaultBulletCount: 15
   parent: {fileID: 0}
+  bCenter: 1
 --- !u!1 &4303088161959514138
 GameObject:
   m_ObjectHideFlags: 0

+ 4 - 4
Assets/SmartBow/Resources/Common/TipBulletNumber.prefab

@@ -38,7 +38,7 @@ RectTransform:
   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: 300, y: 100}
+  m_SizeDelta: {x: 348.18, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &9181745763393146026
 CanvasRenderer:
@@ -70,11 +70,11 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 1ad2cf6c2f09744489d8c60b3fe3bab2, type: 3}
-    m_FontSize: 32
+    m_FontSize: 48
     m_FontStyle: 0
     m_BestFit: 0
-    m_MinSize: 1
-    m_MaxSize: 40
+    m_MinSize: 0
+    m_MaxSize: 48
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1

+ 153 - 7
Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/ConnectGuidanceView.prefab

@@ -1682,7 +1682,7 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 1254516242951852259}
-  - {fileID: 1254516243193209574}
+  - {fileID: 5889487585271964167}
   m_Father: {fileID: 6942982441339297973}
   m_RootOrder: 7
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1806,7 +1806,7 @@ MonoBehaviour:
   m_Spacing: 6
   m_ChildForceExpandWidth: 0
   m_ChildForceExpandHeight: 0
-  m_ChildControlWidth: 1
+  m_ChildControlWidth: 0
   m_ChildControlHeight: 0
   m_ChildScaleWidth: 0
   m_ChildScaleHeight: 0
@@ -2279,18 +2279,18 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1254516243193209593}
-  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: 1254516242565904546}
-  m_RootOrder: 1
+  m_Father: {fileID: 5889487585271964167}
+  m_RootOrder: 0
   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_SizeDelta: {x: 0, y: 50}
+  m_SizeDelta: {x: 250, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1254516243193209573
 CanvasRenderer:
@@ -2327,7 +2327,7 @@ MonoBehaviour:
     m_BestFit: 0
     m_MinSize: 2
     m_MaxSize: 40
-    m_Alignment: 4
+    m_Alignment: 5
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
@@ -2781,6 +2781,151 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: 3.
+--- !u!1 &2301710147921710178
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5889487585271964167}
+  - component: {fileID: 5825471709234632642}
+  m_Layer: 5
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5889487585271964167
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2301710147921710178}
+  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: 1254516243193209574}
+  - {fileID: 6134662742090089635}
+  m_Father: {fileID: 1254516242565904546}
+  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_SizeDelta: {x: 444, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5825471709234632642
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2301710147921710178}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 5
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &3097868935751974240
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6134662742090089635}
+  - component: {fileID: 1375884756217261403}
+  - component: {fileID: 2507514315858304410}
+  m_Layer: 5
+  m_Name: omit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6134662742090089635
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3097868935751974240}
+  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: 5889487585271964167}
+  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_SizeDelta: {x: 124, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1375884756217261403
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3097868935751974240}
+  m_CullTransparentMesh: 0
+--- !u!114 &2507514315858304410
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3097868935751974240}
+  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: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 32
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 55
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 0
+  m_Text: 
 --- !u!1 &3514122994558878501
 GameObject:
   m_ObjectHideFlags: 0
@@ -3831,6 +3976,7 @@ MonoBehaviour:
   textTip01: {fileID: 1254516242045084298}
   textTip02: {fileID: 7279536001665279125}
   btnConnectBow: {fileID: 1254516242565904549}
+  btnOmitText: {fileID: 2507514315858304410}
 --- !u!1 &6942982441650629193
 GameObject:
   m_ObjectHideFlags: 0

+ 198 - 72
Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/InfraredScreenPositioningView.prefab

@@ -70,9 +70,9 @@ RectTransform:
   m_Father: {fileID: 1657718195}
   m_RootOrder: 2
   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: -21.484999, y: -627.76}
   m_SizeDelta: {x: 26.77, y: 20.8}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &524663347
@@ -146,8 +146,8 @@ RectTransform:
   m_Father: {fileID: 323160127}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 60}
   m_Pivot: {x: 0.5, y: 0.5}
@@ -222,9 +222,9 @@ RectTransform:
   m_Father: {fileID: 1657718195}
   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: -21.484999, y: -319.08}
   m_SizeDelta: {x: 13.91, y: 20.44}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &884793599
@@ -317,7 +317,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &1349023714
 RectTransform:
   m_ObjectHideFlags: 0
@@ -334,7 +334,7 @@ RectTransform:
   - {fileID: 1574323685}
   - {fileID: 1710848638}
   m_Father: {fileID: 7371505907208373617}
-  m_RootOrder: 3
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
@@ -579,9 +579,9 @@ RectTransform:
   m_Father: {fileID: 1657718195}
   m_RootOrder: 0
   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: -21.485, y: -10.4}
   m_SizeDelta: {x: 14.51, y: 20.8}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1662974754
@@ -746,8 +746,8 @@ RectTransform:
   m_Father: {fileID: 1336134888}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 10}
   m_Pivot: {x: 0.5, y: 0.5}
@@ -1047,11 +1047,11 @@ RectTransform:
   - {fileID: 213060852178376601}
   - {fileID: 6291751542338047667}
   m_Father: {fileID: 7371505907208373617}
-  m_RootOrder: 2
+  m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 1}
   m_AnchorMax: {x: 0.5, y: 1}
-  m_AnchoredPosition: {x: 0, y: -144}
+  m_AnchoredPosition: {x: 0, y: -150}
   m_SizeDelta: {x: 893.52, y: 133}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &7876377500356943024
@@ -1347,6 +1347,8 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   canvasRectTransform: {fileID: 518485857765021418}
   draggableParent: {fileID: 8816989788969488603}
+  mask: {fileID: 4045245623524848592}
+  cameraLight: {fileID: 1349023713}
   pointsParent: {fileID: 2480474177723386199}
   pos1: {fileID: 3355336842237625109}
   pos2: {fileID: 7990110363075381605}
@@ -1596,7 +1598,7 @@ RectTransform:
   - {fileID: 7855798539375045847}
   - {fileID: 4365742840661124964}
   m_Father: {fileID: 518485857765021418}
-  m_RootOrder: 3
+  m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -2530,8 +2532,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0}
   m_AnchorMax: {x: 0.5, y: 0}
-  m_AnchoredPosition: {x: -144.87, y: 170}
-  m_SizeDelta: {x: 1183, y: 136}
+  m_AnchoredPosition: {x: 0, y: 128.4}
+  m_SizeDelta: {x: 1620, y: 136}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &6316035318644418506
 MonoBehaviour:
@@ -2712,6 +2714,83 @@ MonoBehaviour:
     m_VerticalOverflow: 1
     m_LineSpacing: 1
   m_Text: 2
+--- !u!1 &4045245623524848592
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7412197821328202880}
+  - component: {fileID: 431723214632211173}
+  - component: {fileID: 8967940282973175870}
+  m_Layer: 5
+  m_Name: Mask (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7412197821328202880
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4045245623524848592}
+  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: 2112691052271887221}
+  m_Father: {fileID: 518485857765021418}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &431723214632211173
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4045245623524848592}
+  m_CullTransparentMesh: 1
+--- !u!114 &8967940282973175870
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4045245623524848592}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  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 &4057253707427876185
 GameObject:
   m_ObjectHideFlags: 0
@@ -2788,6 +2867,81 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &4490644594132541986
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2112691052271887221}
+  - component: {fileID: 4315619535062270262}
+  - component: {fileID: 1015518310952224377}
+  m_Layer: 11
+  m_Name: Line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2112691052271887221
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4490644594132541986}
+  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: 7412197821328202880}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4315619535062270262
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4490644594132541986}
+  m_CullTransparentMesh: 1
+--- !u!114 &1015518310952224377
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4490644594132541986}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3fecffd8fba2bca498cd70a05993934c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  loop: 1
+  thickness: 10
+  roundCount: 88
+  quadrilateralSize: {x: 238, y: 152.9}
+  quadColor: {r: 1, g: 1, b: 1, a: 0.19607843}
+  screenPositions:
+  - {x: -1140, y: -438}
+  - {x: 1140, y: -438}
+  - {x: 845, y: 307}
+  - {x: -845, y: 307}
+  maskColor: {r: 0.4117647, g: 0.4117647, b: 0.4117647, a: 1}
+  bDrawQuad: 0
+  bDrawMask: 1
 --- !u!1 &4800839991635237254
 GameObject:
   m_ObjectHideFlags: 0
@@ -2936,7 +3090,6 @@ GameObject:
   - component: {fileID: 6291751542338047667}
   - component: {fileID: 3260208961506221279}
   - component: {fileID: 2687458959944016227}
-  - component: {fileID: 7399493526703182411}
   m_Layer: 5
   m_Name: TextTip 2
   m_TagString: Untagged
@@ -2961,7 +3114,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: 0, y: -57}
+  m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 1540, y: 244}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3260208961506221279
@@ -2986,7 +3139,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
-  m_RaycastTarget: 1
+  m_RaycastTarget: 0
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
@@ -2999,28 +3152,13 @@ MonoBehaviour:
     m_BestFit: 0
     m_MinSize: 0
     m_MaxSize: 53
-    m_Alignment: 3
+    m_Alignment: 4
     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\u4EE5\u901A\u8FC7\u8C03\u6574\u6FC0\u5149\u5B9A\u4F4D\u5668\u4F4D\u7F6E\u6216\u5BF9\u56FE\u50CF\u5BF9\u6BD4\u5EA6\n\u8FDB\u884C\u8C03\u8282\uFF0C\u4F7F\u5C4F\u5E55\u7684\u8FB9\u7F18\u8F83\u6E05\u6670\u540E\uFF0C\u518D\u6B21\u81EA\u52A8\u8BC6\u522B\u3002\u5982\u591A\u6B21\u81EA\u52A8\u8BC6\n\u522B\u4E0D\u6210\u529F\uFF0C\u53EF\u70B9\u51FB\u624B\u52A8\u529F\u80FD\uFF0C\u5E76\u901A\u8FC7\u624B\u6307\u70B9\u51FB\u62D6\u52A8\u5B9A\u4F4D\u533A\u57DF\u56DB\u4E2A\u89D2\n\u8FDB\u884C\u8C03\u6574\u3002\u70B9\u51FB\u786E\u8BA4\u6309\u952E\u8FDB\u5165\u4E0B\u4E00\u6B65\u3002"
---- !u!114 &7399493526703182411
-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: []
+  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"
 --- !u!1 &5200702324567003523
 GameObject:
   m_ObjectHideFlags: 0
@@ -3093,6 +3231,9 @@ MonoBehaviour:
   - {x: 1226, y: -565.5}
   - {x: 1226, y: 565.5}
   - {x: -1226, y: 565.5}
+  maskColor: {r: 0.4117647, g: 0.4117647, b: 0.4117647, a: 1}
+  bDrawQuad: 1
+  bDrawMask: 0
 --- !u!1 &5505594364145592592
 GameObject:
   m_ObjectHideFlags: 0
@@ -3225,6 +3366,7 @@ RectTransform:
   m_Children:
   - {fileID: 5352980848473047839}
   - {fileID: 6970137624786410075}
+  - {fileID: 7412197821328202880}
   - {fileID: 7371505907208373617}
   - {fileID: 1721352479526113342}
   m_Father: {fileID: 1063506209527944585}
@@ -3445,9 +3587,8 @@ GameObject:
   - component: {fileID: 213060852178376601}
   - component: {fileID: 4859593515274267305}
   - component: {fileID: 3128554242021740522}
-  - component: {fileID: 8092827687625333888}
   m_Layer: 5
-  m_Name: TextTip
+  m_Name: TextTip 1
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -3471,7 +3612,7 @@ RectTransform:
   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: 1200, y: 185.6}
+  m_SizeDelta: {x: 1540, y: 244}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4859593515274267305
 CanvasRenderer:
@@ -3495,7 +3636,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
-  m_RaycastTarget: 1
+  m_RaycastTarget: 0
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
@@ -3508,28 +3649,13 @@ MonoBehaviour:
     m_BestFit: 0
     m_MinSize: 0
     m_MaxSize: 53
-    m_Alignment: 3
+    m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 1
     m_VerticalOverflow: 1
-    m_LineSpacing: 1
-  m_Text: "\u8C03\u6574\u6FC0\u5149\u5B9A\u4F4D\u5668\u4F4D\u7F6E\u548C\u89D2\u5EA6\uFF0C\u4F7F\u5176\u53EF\u4EE5\u6E05\u6670\u5730\u62CD\u6444\u5230\u5C4F\n\u5E55\u7684\u56DB\u89D2\u3002\u5148\u70B9\u51FB\u81EA\u52A8\u6309\u952E\u8FDB\u884C\u5C4F\u5E55\u8BC6\u522B\uFF0C\u5C4F\u5E55\u4E0A\u4F1A\u51FA\n\u73B0\u9ED1\u5C4F\u548C\u767D\u5C4F\u7684\u56FE\u50CF\uFF0C\u5E76\u901A\u8FC7\u8F6F\u4EF6\u8BC6\u522B\u5C4F\u5E55\u7684\u663E\u793A\u533A\u57DF\u3002"
---- !u!114 &8092827687625333888
-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: []
+    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"
 --- !u!1 &6607547226471776927
 GameObject:
   m_ObjectHideFlags: 0
@@ -3701,7 +3827,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &8816989788969488603
 RectTransform:
   m_ObjectHideFlags: 0
@@ -3720,7 +3846,7 @@ RectTransform:
   - {fileID: 326007627452055294}
   - {fileID: 6336526226875887966}
   m_Father: {fileID: 7371505907208373617}
-  m_RootOrder: 4
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
@@ -3860,7 +3986,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 6970137624786410074}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
   m_Name: 
@@ -3916,7 +4042,7 @@ RectTransform:
   - {fileID: 4261715047837033865}
   - {fileID: 2108089615733829792}
   m_Father: {fileID: 7371505907208373617}
-  m_RootOrder: 5
+  m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
@@ -3942,7 +4068,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &8072716410762509428
 RectTransform:
   m_ObjectHideFlags: 0
@@ -3959,9 +4085,9 @@ RectTransform:
   m_Father: {fileID: 2371513326884009388}
   m_RootOrder: 5
   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: 1626.3499, y: -68}
   m_SizeDelta: {x: 505.9, y: 137}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &292131567826074232
@@ -4382,13 +4508,13 @@ RectTransform:
   m_Children:
   - {fileID: 2736697392547702654}
   - {fileID: 3911578299069460745}
-  - {fileID: 4944701656153808412}
   - {fileID: 1349023714}
   - {fileID: 8816989788969488603}
   - {fileID: 2480474177723386199}
+  - {fileID: 4944701656153808412}
   - {fileID: 2371513326884009388}
   m_Father: {fileID: 518485857765021418}
-  m_RootOrder: 2
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}

+ 289 - 16
Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/InfraredView.prefab

@@ -211,9 +211,9 @@ RectTransform:
   m_Father: {fileID: 6541729197459587817}
   m_RootOrder: 0
   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: 834.03, y: -320}
   m_SizeDelta: {x: 1668.06, y: 640}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &462368352428713268
@@ -331,6 +331,102 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &2106732524953318651
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7000130870650336053}
+  - component: {fileID: 4606656822727440275}
+  - component: {fileID: 7677525275023214768}
+  - component: {fileID: 4429447302591747593}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7000130870650336053
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2106732524953318651}
+  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: 8667101709888347439}
+  m_RootOrder: 0
+  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_SizeDelta: {x: 0, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4606656822727440275
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2106732524953318651}
+  m_CullTransparentMesh: 0
+--- !u!114 &7677525275023214768
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2106732524953318651}
+  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: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 6b6cc7ab59ef00947950b61fdca2d042, type: 3}
+    m_FontSize: 35
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "\u8FDB\u5165\u5C4F\u5E55\u5B9A\u4F4D"
+--- !u!114 &4429447302591747593
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2106732524953318651}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0f4efe98aab6c6b41a7ee1f4c49df27b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  textKey: Infrared-ScreenPositioning
+  layoutRebuildObject: {fileID: 0}
+  languageFontSizes: []
 --- !u!1 &2397657128313122477
 GameObject:
   m_ObjectHideFlags: 0
@@ -365,10 +461,10 @@ RectTransform:
   m_Father: {fileID: 1730599641784995024}
   m_RootOrder: 0
   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_SizeDelta: {x: 0, y: 50}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 221, y: -48}
+  m_SizeDelta: {x: 280, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2166458721827678163
 CanvasRenderer:
@@ -756,6 +852,182 @@ MonoBehaviour:
   - language: 1
     fontSize: 28
     lineSpacing: 1
+--- !u!1 &5630597988169435194
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8667101709888347439}
+  - component: {fileID: 7771522780440949778}
+  - component: {fileID: 7013086027384995765}
+  - component: {fileID: 7278431526293925695}
+  - component: {fileID: 8362495831377830021}
+  - component: {fileID: 933630595651883938}
+  m_Layer: 5
+  m_Name: BtnEnter (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8667101709888347439
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5630597988169435194}
+  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: 7000130870650336053}
+  m_Father: {fileID: 5651314243503148123}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 668.5, y: -698}
+  m_SizeDelta: {x: 444, y: 96}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7771522780440949778
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5630597988169435194}
+  m_CullTransparentMesh: 1
+--- !u!114 &7013086027384995765
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5630597988169435194}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 106ef052c134649499407d03edb5eead, 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!114 &7278431526293925695
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5630597988169435194}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 7013086027384995765}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 8339594333699129169}
+        m_TargetAssemblyTypeName: InfraredGuidanceView, Assembly-CSharp
+        m_MethodName: OnClick_EnterScreenPositioningView
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &8362495831377830021
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5630597988169435194}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 15
+    m_Right: 17
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 6
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &933630595651883938
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5630597988169435194}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 0
 --- !u!1 &5651314242315564802
 GameObject:
   m_ObjectHideFlags: 0
@@ -1400,7 +1672,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!224 &5651314243503148123
 RectTransform:
   m_ObjectHideFlags: 0
@@ -1415,13 +1687,14 @@ RectTransform:
   m_Children:
   - {fileID: 5651314243550147649}
   - {fileID: 5651314244108234268}
+  - {fileID: 8667101709888347439}
   m_Father: {fileID: 5651314242315564806}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: -1195, y: -424}
+  m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5651314243503148127
 CanvasRenderer:
@@ -1535,9 +1808,9 @@ RectTransform:
   m_Father: {fileID: 5651314243503148123}
   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: 668.5, y: -320}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 1337, y: 640}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5651314243550147655
@@ -1658,7 +1931,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1.3
-  m_Text: "\u5148\u8FDB\u884C\u6295\u5C4F\uFF0C\u5E76\u5C06\u6FC0\u5149\u5B9A\u4F4D\u5668\u653E\u7F6E\u4E8E\u7535\u89C6\u524D\u65B9\u76840.5~2\u7C73\u5904\uFF0C\u4F7F\u6444\u50CF\u5934\u4E0A\u4EF0\u671D\u5411\u5C4F\u5E55\u3002"
+  m_Text: "\u5148\u8FDB\u884C\u6295\u5C4F\uFF0C\u5E76\u5C06\u6FC0\u5149\u5B9A\u4F4D\u5668\u653E\u7F6E\u4E8E\u7535\u89C6\u524D\u65B9\uFF0C\u4F7F\u6444\u50CF\u5934\u4E0A\u4EF0\u671D\u5411\u5C4F\u5E55\u3002"
 --- !u!114 &8170560892596963829
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1790,7 +2063,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &5651314244108234268
 RectTransform:
   m_ObjectHideFlags: 0
@@ -1963,7 +2236,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &6541729197459587817
 RectTransform:
   m_ObjectHideFlags: 0
@@ -1984,7 +2257,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: -15}
-  m_SizeDelta: {x: 0, y: 0}
+  m_SizeDelta: {x: -863.93994, y: -424}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &2474763126871341944
 MonoBehaviour:

+ 1 - 0
Assets/SmartBow/Resources/SmartBow/Prefabs/Views/Home/SettingsView.prefab

@@ -5845,6 +5845,7 @@ Canvas:
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
   m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
   m_AdditionalShaderChannelsFlag: 0
   m_SortingLayerID: 0
   m_SortingOrder: 1

+ 27 - 17
Assets/SmartBow/Resources/SmartBow/Prefabs/ZIM/PixelCheaker.cs

@@ -1,4 +1,5 @@
-using System;
+using o0.Geometry2D;
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using Unity.VisualScripting;
@@ -11,29 +12,38 @@ public class PixelCheaker : MonoBehaviour
     public Image Bordermage;            // 椭圆的图片
     public RectTransform BorderArea;    // 椭圆的大小区域,调整这个gameobject的scale作为椭圆的区域
 
-    private Vector2 _imageSize;
-    public Vector2 ImageSize
+    public void Start()
     {
-        get => _imageSize;
-        set
-        {
-            if (_imageSize != value)
-            {
-                _imageSize = value;
-                ellipseRadius = BorderArea.localScale / 2f;
-            }
-        }
+        ellipseRadius = BorderArea.localScale / 2f;
     }
 
-    private Vector2 ellipseRadius; 
+    private Vector2 ellipseRadius;
 
-    public bool OutCollider2D(Vector2 p)
+    public bool OutArea2D(Vector2 pixelPosition, Vector<int> imageSize, out float f) => OutArea2D(new Vector2(pixelPosition.x / imageSize.x, pixelPosition.y / imageSize.y), out f);
+    public bool OutArea2D(Vector2 pixelPosition, Vector2 imageSize, out float f) => OutArea2D(pixelPosition / imageSize, out f);
+    public bool OutArea2D(o0.Geometry2D.Float.Vector pixelPosition, Vector<int> imageSize, out float f) => OutArea2D(new Vector2(pixelPosition.x / imageSize.x, pixelPosition.y / imageSize.y), out f);
+    public bool OutArea2D(Vector2 pixelPosition, Vector<int> imageSize) => OutArea2D(new Vector2(pixelPosition.x / imageSize.x, pixelPosition.y / imageSize.y));
+    public bool OutArea2D(Vector2 pixelPosition, Vector2 imageSize) => OutArea2D(pixelPosition / imageSize);
+    public bool OutArea2D(o0.Geometry2D.Float.Vector pixelPosition, Vector<int> imageSize) => OutArea2D(new Vector2(pixelPosition.x / imageSize.x, pixelPosition.y / imageSize.y));
+
+    // out 椭圆的距离系数,越大表示离椭圆越远
+    private bool OutArea2D(Vector2 pixelUV, out float f)
     {
         Vector2 center = new Vector2(0.5f, 0.5f);           // 椭圆中心
+        float normalizedX = (pixelUV.x - center.x) / ellipseRadius.x;
+        float normalizedY = (pixelUV.y - center.y) / ellipseRadius.y;
 
-        p /= ImageSize;
-        float normalizedX = (p.x - center.x) / ellipseRadius.x;
-        float normalizedY = (p.y - center.y) / ellipseRadius.y;
+        float value = (normalizedX * normalizedX) + (normalizedY * normalizedY);    // 使用椭圆方程判断
+        f = (float)Math.Sqrt(value);
+        return value > 1.0f;
+    }
+
+    // 无out的版本
+    private bool OutArea2D(Vector2 pixelUV)
+    {
+        Vector2 center = new Vector2(0.5f, 0.5f);           // 椭圆中心
+        float normalizedX = (pixelUV.x - center.x) / ellipseRadius.x;
+        float normalizedY = (pixelUV.y - center.y) / ellipseRadius.y;
 
         float value = (normalizedX * normalizedX) + (normalizedY * normalizedY);    // 使用椭圆方程判断
         return value > 1.0f;

+ 21 - 5
Assets/SmartBow/Scripts/Common/BulletManager.cs

@@ -12,6 +12,10 @@ public class BulletManager : MonoBehaviour
     private int bulletCount;
 
     public GameObject parent ;
+
+    [SerializeField]
+    [Tooltip("生成子弹不足提示的位置是否在是正中心")]
+    bool bCenter = false;
     //射击数
     private int numberOfShotsFired = 0;
     public int getBulletCount { 
@@ -49,7 +53,7 @@ public class BulletManager : MonoBehaviour
 
     public bool bulletZero() {
         if (getBulletCount == 0) {
-            Create(parent.transform);
+            Create(parent.transform,bCenter);
             //暂时自动刷新,接入协议后修改效果
             //ResetBullets();
             return true;
@@ -74,7 +78,7 @@ public class BulletManager : MonoBehaviour
 
 
     static List<GameObject> bulletNumber = new();
-    public static void Create(Transform parentTran)
+    public static void Create(Transform parentTran,bool centerPos)
     {
         //清空对象
         for (int i = bulletNumber.Count - 1; i >= 0; i--)
@@ -90,9 +94,21 @@ public class BulletManager : MonoBehaviour
         RectTransform rectTransform = o.GetComponent<RectTransform>();
 
         // 设置相对于锚点的偏移位置
-        rectTransform.anchoredPosition = new Vector2(0, 120);
-        rectTransform.localRotation = Quaternion.identity;
-        rectTransform.localScale = Vector3.one;
+        if (centerPos)
+        {
+            rectTransform.anchorMin = new Vector2(0.5f, 0.5f);
+            rectTransform.anchorMax = new Vector2(0.5f, 0.5f);
+            //rectTransform.anchoredPosition = new Vector2(0, rectTransform.rect.height / 2);
+            rectTransform.anchoredPosition = new Vector2(0, 0);
+            rectTransform.localRotation = Quaternion.identity;
+            rectTransform.localScale = Vector3.one;
+        }
+        else {
+            rectTransform.anchoredPosition = new Vector2(0, 120);
+            rectTransform.localRotation = Quaternion.identity;
+            rectTransform.localScale = Vector3.one;
+        }
+  
         //o.GetComponentInChildren<Text>().text = number.ToString($"f{CommonConfig.ringsPrecision}");
         bulletNumber.Add(o);
     }

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

@@ -1,9 +1,11 @@
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
+using UnityEngine.UI;
 
 public class TipBulletNumber : MonoBehaviour
 {
+    [SerializeField] Text outText;
     // Start is called before the first frame update
     IEnumerator Start()
     {

+ 50 - 0
Assets/SmartBow/Scripts/Views/ConnectGuidanceView.cs

@@ -153,6 +153,11 @@ public class ConnectGuidanceView : MonoBehaviour
     }
 
     [SerializeField] GameObject btnConnectBow;
+    [SerializeField] Text btnOmitText;
+    private int dotCount = 0;
+    private float interval = 0.5f; // 标点更新间隔
+    private float timer = 0f;
+
     BluetoothStatusEnum bowStatus;
     SmartBowSDK.BluetoothStatusEnum bowStatus2P;
     void UpdateBtnForConnect()
@@ -167,6 +172,8 @@ public class ConnectGuidanceView : MonoBehaviour
                 btnConnectBow.GetComponentInChildren<TextAutoLanguage>().SetText(textID);
                 btnConnectBow.GetComponentInChildren<Text>().color = color;
                 btnConnectBow.transform.Find("Check").gameObject.SetActive(bowStatus == BluetoothStatusEnum.ConnectSuccess);
+
+                btnOmitText.color = color;
             }
             if (bowStatus != BluetoothStatusEnum.ConnectSuccess) {
                 isNext = false;
@@ -177,6 +184,16 @@ public class ConnectGuidanceView : MonoBehaviour
                 isNext = true;
                 OnClick_Next();
             }
+
+            if (bowStatus == BluetoothStatusEnum.Connecting)
+            {
+                btnOmitText.gameObject.SetActive(true);
+                UpdateLoadingText();
+            }
+            else
+            {
+                StopLoading();
+            }
         }
         else if (BluetoothAim.ins.getBLEPlayer() == BluetoothPlayer.SECONDE_PLAYER)
         {
@@ -190,6 +207,8 @@ public class ConnectGuidanceView : MonoBehaviour
                 btnConnectBow.GetComponentInChildren<TextAutoLanguage>().SetText(textID);
                 btnConnectBow.GetComponentInChildren<Text>().color = color;
                 btnConnectBow.transform.Find("Check").gameObject.SetActive(bowStatus2P == SmartBowSDK.BluetoothStatusEnum.Connected);
+
+                btnOmitText.color = color;
             }
             if (bowStatus2P != SmartBowSDK.BluetoothStatusEnum.Connected)
             {
@@ -201,11 +220,42 @@ public class ConnectGuidanceView : MonoBehaviour
                 isNext = true;
                 OnClick_Next();
             }
+
+            if (bowStatus2P == SmartBowSDK.BluetoothStatusEnum.Connecting)
+            {
+                btnOmitText.gameObject.SetActive(true);
+                UpdateLoadingText();
+            }
+            else
+            {
+                StopLoading();
+            }
         }
 
     
     }
 
+
+    void UpdateLoadingText()
+    {
+        timer += Time.deltaTime;
+
+        // 每隔 `interval` 秒更新一次标点符号
+        if (timer >= interval)
+        {
+            dotCount = (dotCount + 1) % 4; // 标点数量从 0 到 3 循环
+            btnOmitText.text = new string('.', dotCount); // 添加相应数量的点
+            timer = 0f; // 重置计时器
+        }
+    }
+
+    // 停止加载效果
+    public void StopLoading()
+    {
+        dotCount = 0;
+        btnOmitText.text = ""; // 停止时恢复为基础文本
+    }
+
     public void OnClick_ConnectBLE()
     {
         if (!IsConfirmInStorage())

+ 10 - 1
Assets/SmartBow/Scripts/Views/GameResultView.cs

@@ -41,7 +41,16 @@ public class GameResultView : MonoBehaviour
 
 
         this.shootCount.text = shootCount.ToString();
-        this.calories.text = (shootCount * 0.444f).ToString();
+
+        // 0.444/2.22=0.2 ǹ=0.444*0.2 = 0.0888£»
+        if (GlobalData.MyDeviceMode == DeviceMode.Gun)
+        {
+            this.calories.text = (shootCount * 0.0888f).ToString();
+        }
+        else {
+            this.calories.text = (shootCount * 0.444f).ToString();
+        }
+       
     }
 
     public void OnClick_Back()

+ 59 - 12
Assets/SmartBow/Scripts/Views/InfraredViewParts/InfraredScreenPositioningView.cs

@@ -10,6 +10,7 @@ using Color = UnityEngine.Color;
 using InfraredManager;
 using Org.BouncyCastle.Asn1.Crmf;
 using ZIM.Unity;
+using o0.Project;
 
 public class LinePosition
 {
@@ -24,6 +25,10 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
     [SerializeField]
     RectTransform draggableParent;
     [SerializeField]
+    GameObject mask;
+    [SerializeField]
+    GameObject cameraLight;
+    [SerializeField]
     RectTransform pointsParent;
     [SerializeField]
     RectTransform pos1;
@@ -68,6 +73,8 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
     [SerializeField] Color normalTextColor = Color.black;
     [SerializeField] Color highlightedTextColor = Color.white;
 
+    bool doLocateAuto;
+
     int DefaultResolutionIndex;
     private void Awake()
     {
@@ -77,6 +84,8 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
 
     void Start()
     {
+        doLocateAuto = false;
+
         textTip1.SetActive(true);
         //设置btnAuto 高亮
         OnButtonClick(btnAuto);
@@ -115,6 +124,9 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
         //相机感光度
         if (InfraredDemo._ins)
         {
+            //重置偏移量
+            InfraredDemo._ins.ResetCenterOffset();
+
             slider.onValueChanged.AddListener((value) =>
             {
                 InfraredDemo._ins.onSliderEvent(value);
@@ -222,6 +234,7 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
     public void OnClick_Auto()
     {
         bAuto = true;
+        doLocateAuto = true;
 
         textTip1.SetActive(false);
         textTip2.SetActive(true);
@@ -249,8 +262,12 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
     public void onHandMovement()
     {
         bAuto = false;
+        doLocateAuto = false;
         draggableParent.gameObject.SetActive(true);
         pointsParent.gameObject.SetActive(false);
+
+        mask.SetActive(false);
+        cameraLight.SetActive(true);
     }
 
     /// <summary>
@@ -405,6 +422,7 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
         if (enterFromZimWebCamera)
         {
             ConfirmScreenLocateManualTest();
+
             if (oldLinePosition.Count > 1) // 确保列表不为空
             {
                 LinePosition lastElement = oldLinePosition[oldLinePosition.Count - 1];
@@ -486,7 +504,12 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
         SetLinePos();
 
         btnRecordInfrared.Reset();
-        ScreenLocate.Main.ScreenIdentification.SetScreenQuad(null);
+        ScreenLocate.Main.ScreenIdentification.ClearQuadCache();
+        if (enterFromZimWebCamera)
+        {
+            ScreenLocate.Main.ScreenQuad.gameObject.SetActive(false);
+            ScreenLocate.Main.UILineGenerator.Points = new Vector2[0];
+        }
     }
 
     #endregion
@@ -568,8 +591,9 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
         _screenLocate.QuitScreenLocateManual(_locatePointList);
         //FindObjectOfType<InfraredDemo>().SetLocatePointsToCameraRender(_locatePointList, _texWidth, _texHeight);
 
-        setPointsLocation(_locatePointList,GameObject.Find("WebCameraView/CameraImage0/ScreenQuad"));
         setPointsLocation(_locatePointList,pointsParent.gameObject,!bAuto);
+        if (!doLocateAuto)  // 设置手动定位数据
+            setPointsManual(_locatePointList, GameObject.Find("WebCameraView/CameraImage0/ScreenQuad"));
 
         //同步数据
         ScreenLocate.quadUnityVectorList.Clear();
@@ -580,22 +604,15 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
         ScreenLocate.quadUnityVectorList.Add(new Vector2(_locatePointList[2].x, _locatePointList[2].y));
         ScreenLocate.SaveScreenLocateVectorList();
 
-        var lo = new Vector2(-0.5f, -0.5f);
-        ScreenLocate.Main.UILineGenerator.Points = new Vector2[4] {
-            2 * (_locatePointList[0] + lo),
-            2 * (_locatePointList[1] + lo),
-            2 * (_locatePointList[2] + lo),
-            2 * (_locatePointList[3] + lo) };
     }
 
-    void setPointsLocation(List<Vector2> targetList ,GameObject pointsTF2,bool active = true) {
-
+    void setPointsLocation(List<Vector2> targetList, GameObject pointsTF2, bool active = true)
+    {
         //GameObject pointsTF2 = GameObject.Find("WebCameraView/CameraImage0/ScreenQuad");
         pointsTF2.SetActive(active);
 
         if (pointsTF2.transform.childCount == targetList.Count)
         {
-            Vector2 texSize = new Vector2(_texWidth, _texHeight);
             for (int i = 0; i < pointsTF2.transform.childCount; i++)
             {
                 Transform pointTF = pointsTF2.transform.GetChild(i);
@@ -604,8 +621,32 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
                 pointTF.gameObject.SetActive(true);
             }
         }
+        
     }
 
+    void setPointsManual(List<Vector2> targetList, GameObject pointsTF2, bool active = true)
+    {
+        setPointsLocation(targetList, pointsTF2, active);
+
+        var lo = new Vector2(-0.5f, -0.5f);
+        ScreenLocate.Main.UILineGenerator.Points = new Vector2[4] {
+                2 * (targetList[0] + lo),
+                2 * (targetList[1] + lo),
+                2 * (targetList[2] + lo),
+                2 * (targetList[3] + lo) };
+
+        // 记录手动数据
+        var size = ScreenLocate.Main.getUVCCameraInfoSize;
+        var quad = new QuadrilateralInCamera(
+                new o0.Geometry2D.Float.Vector(targetList[0].x * size.x, targetList[0].y * size.y),
+                new o0.Geometry2D.Float.Vector(targetList[1].x * size.x, targetList[1].y * size.y),
+                new o0.Geometry2D.Float.Vector(targetList[3].x * size.x, targetList[3].y * size.y),
+                new o0.Geometry2D.Float.Vector(targetList[2].x * size.x, targetList[2].y * size.y),
+                size.o0Vector()
+            );
+        ScreenLocate.Main.ScreenIdentification.QuadManual = quad;
+        Debug.Log("<color=aqua>[ScreenLocate] 记录手动数据</color>");
+    }
 
     void SaveLocalPos()
     {
@@ -686,10 +727,16 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
             //射一箭回到连接页面,Device.view
             GameMgr.bNavBack = true;
             GameMgr.bShowDistance = false;
-            AimHandler.ins.bInitOne = true;
+            AimHandler.ins.bInitOne = false;//true
             //关闭计时器
             GameMgr.turnOffTimer = true;
 
+            //关闭左边靶子和底部速度栏
+            GameMgr.HideTargetView = true;
+            GameMgr.HideBillboard = true;
+
+            GameMgr.ButtonCount = 0;
+
             UnityEngine.SceneManagement.SceneManager.LoadScene(
                 "Game", UnityEngine.SceneManagement.LoadSceneMode.Single);
 

+ 87 - 1
Assets/SmartBow/Scripts/Views/InfraredViewParts/Line.cs

@@ -14,6 +14,12 @@ namespace LineUI
         [SerializeField] private Vector2 quadrilateralSize = new Vector2(100, 100);
         [SerializeField] private Color quadColor = Color.red;
         [SerializeField] private List<Vector2> screenPositions = new List<Vector2>();
+
+        [SerializeField] private Color maskColor = Color.red;
+        //是否绘制内四边形
+        [SerializeField] bool bDrawQuad = true;
+        //是否绘制外围蒙板
+        [SerializeField] bool bDrawMask = false;
         //[SerializeField] private Color quadTextColor = Color.black;
         //[SerializeField] private int quadFontSize = 14;
 
@@ -45,6 +51,13 @@ namespace LineUI
             SetVerticesDirty();
         }
 
+        public void SetDrawQuad(bool value) {
+            bDrawQuad = value;
+        }
+        public void SetDrawMask(bool value)
+        {
+            bDrawMask = value;
+        }
         protected override void OnPopulateMesh(VertexHelper vh)
         {
             vh.Clear();
@@ -54,9 +67,13 @@ namespace LineUI
             if (screenPositions.Count < 2)
                 return;
 
+
             SetLineVertices(vh);
             SetLineTriangles(vh);
-            SetQuadrilateralVertices(vh);
+
+            if(bDrawQuad) SetQuadrilateralVertices(vh);
+
+            if(bDrawMask) DrawMask(vh); // 绘制蒙版
         }
 
         private void SetLineVertices(VertexHelper vh)
@@ -181,6 +198,75 @@ namespace LineUI
             }
         }
 
+        private void DrawMask(VertexHelper vh)
+        {
+            UIVertex vert = UIVertex.simpleVert;
+            vert.color = maskColor;
+
+            //// 屏幕四个角的坐标
+            //Vector2[] screenCorners = new Vector2[]
+            //{
+            //    new Vector2(-Screen.width / 2, -Screen.height / 2), // 左下角
+            //    new Vector2(Screen.width / 2, -Screen.height / 2),  // 右下角
+            //    new Vector2(Screen.width / 2, Screen.height / 2),   // 右上角
+            //    new Vector2(-Screen.width / 2, Screen.height / 2),  // 左上角
+            //};
+
+            // 获取 RectTransform 的实际四个角坐标
+            Rect rect = rectTransform.rect;
+
+            Vector2[] screenCorners = new Vector2[]
+            {
+                new Vector2(rect.xMin, rect.yMin), // 左下角
+                new Vector2(rect.xMax, rect.yMin), // 右下角
+                new Vector2(rect.xMax, rect.yMax), // 右上角
+                new Vector2(rect.xMin, rect.yMax), // 左上角
+            };
+
+            // 添加四个点作为内框(中间区域的四个顶点)
+            Vector2[] innerCorners = screenPositions.ToArray();
+
+            // 分别绘制四个蒙版区域
+
+            // 1. 左上区域:围绕左上角和内框左上、右上
+            AddQuad(vh, screenCorners[3], innerCorners[3], innerCorners[2], screenCorners[2]);
+
+            // 2. 右上区域:围绕右上角和内框右上、右下
+            AddQuad(vh, innerCorners[2], screenCorners[2], screenCorners[1], innerCorners[1]);
+
+            // 3. 右下区域:围绕右下角和内框右下、左下
+            AddQuad(vh, innerCorners[0], innerCorners[1], screenCorners[1], screenCorners[0]);
+
+            // 4. 左下区域:围绕左下角和内框左下、左上
+            AddQuad(vh, screenCorners[3], screenCorners[0], innerCorners[0], innerCorners[3]);
+
+        }
+
+        private void AddQuad(VertexHelper vh, Vector2 corner1, Vector2 corner2, Vector2 corner3, Vector2 corner4)
+        {
+            UIVertex vert = UIVertex.simpleVert;
+            vert.color = maskColor;
+
+            vert.position = corner1;
+            vh.AddVert(vert);
+            vert.position = corner2;
+            vh.AddVert(vert);
+            vert.position = corner3;
+            vh.AddVert(vert);
+            vert.position = corner4;
+            vh.AddVert(vert);
+
+            Debug.Log("vh.currentVertCount:"+ vh.currentVertCount);
+            int startIndex = vh.currentVertCount - 4;
+            vh.AddTriangle(startIndex, startIndex + 1, startIndex + 2);
+            vh.AddTriangle(startIndex + 2, startIndex + 3, startIndex);
+        }
+
+
+
+
+
+
         //private void LateUpdate()
         //{
         //    foreach (var quadObj in quadObjects)

+ 13 - 1
Assets/SmartBow/Scripts/Views/SettingsView.cs

@@ -15,6 +15,18 @@ namespace SmartBow
         {
             PersistenHandler.ins?.menuBackCtr.views.Add(this);
             //ShowBoxSound(true);
+
+            if (CommonConfig.bInfraredApp) {
+
+                //隐藏弓到屏幕的距离
+                foreach (Transform item in panelLeftContent)
+                {
+                    if (item.name == "BtnScreenDistance") {
+                        item.gameObject.SetActive(false);
+                    }
+                }
+                ShowBoxScreenDistance(false);
+            }
         }
 
         void OnDestroy()
@@ -65,7 +77,7 @@ namespace SmartBow
             ShowBoxSound(itemName == "BtnSound");
             ShowBoxLevel(itemName == "BtnLevel");
             ShowBoxNewUser(itemName == "BtnNewUser");
-            ShowBoxScreenDistance(itemName == "BtnScreenDistance");
+            if (!CommonConfig.bInfraredApp)ShowBoxScreenDistance(itemName == "BtnScreenDistance");
             ShowBoxLanguage(itemName == "BtnLanguage");
             ShowBoxUserAgreement(itemName == "BtnUserAgreement");
             ShowBoxPrivacyPolicy(itemName == "BtnPrivacyPolicy");

+ 14 - 3
Assets/SmartBow/Scripts/Views/SettingsViewParts/BoxLevel.cs

@@ -35,9 +35,20 @@ public class BoxLevel : MonoBehaviour
         //准心
         bool openCrossHair = UserSettings.ins.openCrossHair;
         RenderButtos(openCrossHair ? 0 : 1, boxLevelCrossHairSelects);
-        //固定背景
-        bool bowCameraFixed = UserSettings.ins.bowCameraFixed;
-        RenderButtos(bowCameraFixed ? 0 : 1, boxLevelBowCameraFixed);
+
+        //红外版本
+        if (CommonConfig.bInfraredApp)
+        {
+            //固定背景隐藏
+            boxLevelBowCameraFixed.parent.gameObject.SetActive(false);
+        }
+        else {
+            //固定背景
+            bool bowCameraFixed = UserSettings.ins.bowCameraFixed;
+            RenderButtos(bowCameraFixed ? 0 : 1, boxLevelBowCameraFixed);
+        }
+
+       
         //训练模式
         bool trainMode = UserSettings.ins.trainMode;
         RenderButtos(trainMode ? 0 : 1, boxLevelTrainMode);

BIN
Assets/SmartBow/Textures/Guidance/Infrared/GraduatedScale/slider.png


+ 123 - 0
Assets/SmartBow/Textures/Guidance/Infrared/GraduatedScale/slider.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 3b6c9f49fb0ce8449b5bdc6b6b9cc03d
+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: 

BIN
Assets/SmartBow/Textures/Guidance/Infrared/left-down.png


+ 123 - 0
Assets/SmartBow/Textures/Guidance/Infrared/left-down.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: c9c36c4fb0bb3494aa88ed17a6beec15
+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: 

BIN
Assets/SmartBow/Textures/Guidance/Infrared/left-up.png


+ 123 - 0
Assets/SmartBow/Textures/Guidance/Infrared/left-up.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: bc2ed017f3632a7489e84b47f440f6b1
+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: 

BIN
Assets/SmartBow/Textures/Guidance/Infrared/right-down.png


+ 123 - 0
Assets/SmartBow/Textures/Guidance/Infrared/right-down.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 4434f13850443cb4fa785294ee8044b4
+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: 

BIN
Assets/SmartBow/Textures/Guidance/Infrared/right_up.png


+ 123 - 0
Assets/SmartBow/Textures/Guidance/Infrared/right_up.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: a8101bde2719c58408dda6df5024a97d
+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: 

+ 10 - 10
Packages/packages-lock.json

@@ -11,14 +11,14 @@
       "depth": 0,
       "source": "registry",
       "dependencies": {},
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.ext.nunit": {
       "version": "1.0.6",
       "depth": 1,
       "source": "registry",
       "dependencies": {},
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.ide.rider": {
       "version": "3.0.18",
@@ -27,7 +27,7 @@
       "dependencies": {
         "com.unity.ext.nunit": "1.0.6"
       },
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.ide.visualstudio": {
       "version": "2.0.17",
@@ -36,14 +36,14 @@
       "dependencies": {
         "com.unity.test-framework": "1.1.9"
       },
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.ide.vscode": {
       "version": "1.2.5",
       "depth": 0,
       "source": "registry",
       "dependencies": {},
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.test-framework": {
       "version": "1.1.31",
@@ -54,7 +54,7 @@
         "com.unity.modules.imgui": "1.0.0",
         "com.unity.modules.jsonserialize": "1.0.0"
       },
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.textmeshpro": {
       "version": "3.0.6",
@@ -63,19 +63,19 @@
       "dependencies": {
         "com.unity.ugui": "1.0.0"
       },
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.timeline": {
       "version": "1.6.4",
       "depth": 0,
       "source": "registry",
       "dependencies": {
+        "com.unity.modules.audio": "1.0.0",
         "com.unity.modules.director": "1.0.0",
         "com.unity.modules.animation": "1.0.0",
-        "com.unity.modules.audio": "1.0.0",
         "com.unity.modules.particlesystem": "1.0.0"
       },
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.ugui": {
       "version": "1.0.0",
@@ -94,7 +94,7 @@
         "com.unity.ugui": "1.0.0",
         "com.unity.modules.jsonserialize": "1.0.0"
       },
-      "url": "https://packages.unity.cn"
+      "url": "https://packages.unity.com"
     },
     "com.unity.modules.ai": {
       "version": "1.0.0",

+ 3 - 3
ProjectSettings/PackageManagerSettings.asset

@@ -21,7 +21,7 @@ MonoBehaviour:
   m_Registries:
   - m_Id: main
     m_Name: 
-    m_Url: https://packages.unity.cn
+    m_Url: https://packages.unity.com
     m_Scopes: []
     m_IsDefault: 1
     m_Capabilities: 7
@@ -31,6 +31,6 @@ MonoBehaviour:
   m_RegistryInfoDraft:
     m_Modified: 0
     m_ErrorMessage: 
-    m_UserModificationsInstanceId: -826
-    m_OriginalInstanceId: -828
+    m_UserModificationsInstanceId: -846
+    m_OriginalInstanceId: -848
   m_LoadAssets: 0

+ 2 - 2
ProjectSettings/ProjectSettings.asset

@@ -13,7 +13,7 @@ PlayerSettings:
   useOnDemandResources: 0
   accelerometerFrequency: 60
   companyName: JssF
-  productName: "WONDER FITTER \u8FD0\u52A8"
+  productName: WONDER FITTER Pro
   defaultCursor: {fileID: 0}
   cursorHotspot: {x: 0, y: 0}
   m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
@@ -142,7 +142,7 @@ PlayerSettings:
     16:10: 1
     16:9: 1
     Others: 1
-  bundleVersion: 1.3.5
+  bundleVersion: 1.3.6
   preloadedAssets: []
   metroInputSource: 0
   wsaTransparentSwapchain: 0

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio